Git diff изменился в локальной ветке, но не в мастере

avatar
Christoph
1 июля 2021 в 21:11
51
0
0

Я немного поискал, но не смог найти ответ на этот вопрос. Ответы, которые я нашел, либо не совсем то, что я ищу, либо те, которые кажутся мне подходящими, не работают.

Итак, вот наш процесс разработки. У нас есть удаленная главная ветка. При работе над новым функционалом разработчик создаст новую ветку и будет работать в ней. Когда разработка завершена, разработчик сливается с удаленным мастером. На регулярной основе другие разработчики извлекают и объединяют эти изменения в свою ветку разработки, чтобы они всегда работали с текущей кодовой базой. Все это рутина и очень типичный рабочий процесс.

Что я пытаюсь сделать, так это получить список тех файлов, которые различаются между моей веткой и удаленным мастером (т.е. те изменения, которые я еще не объединил с мастером). Когда я пробую различные предложения, которые я нашел в Интернете (например, git diff --name-only master... и их варианты), он показывает мне все, что я проверил в своей ветке, включая те, которые были результатом регулярных слияний от master . А так как слияние делаю я, я даже не могу сделать git diff --name-only --author="Christoph" master... (или его варианты).

Итак, есть ли способ получить список тех файлов, которые содержат изменения, присутствующие в моей ветке, которые не отображаются в удаленном главном репозитории?

спасибо,
Кристоф

Источник
Christoph
1 июля 2021 в 21:54
0

@eftshift0, оба они, по сути, говорят одно и то же. «Изменения, которые я еще не объединил в master» — это те изменения, которые существуют только в моей локальной ветке. Второе утверждение говорит примерно об этом. git diff --name-only HEAD...origin/master ничего не возвращает. Это просто сбрасывает меня обратно в подсказке. git diff --name-only origin/master...HEAD дает мне список из тонны файлов. Большинство из них включают файлы, которые другие разработчики объединили с удаленным мастером после завершения их разработки, и которые я объединил с удаленного мастера в свою локальную ветку, поэтому я в курсе.

eftshift0
1 июля 2021 в 22:16
0

На самом деле, вы правы.... и то, что вы хотите, должно быть предоставлено с git diff --name-only origin/master...HEAD.

Ответы (0)