Где найти изменения из-за "git fetch"

Я не хотел терять некоторую информацию после git pull, Так что git fetch раньше. Где я могу прочитать новые изменения после git fetch? Я пошел в FETCH_HEAD файл, но там не было ничего, кроме большого числа.

3 ответов


git fetch origin по умолчанию извлекает все из удаленного с именем "origin "и обновляет (или создает) так называемые" ветви удаленного отслеживания " для этого удаленного. Скажем, для удаленного с именем "origin", который содержит ветви с именем" master "и" feature", выполняется git fetch remote приведет к удаленному отслеживанию ветвей с именем "origin / master" и "origin/feature" обновляется (или создается, если они не существуют). Вы можете увидеть их на выходе git branch -a (обратите внимание на "- a").

Итак, обычный Настройка Git заключается в том, что (некоторые) ваши локальные ветви следуют за определенными удаленными ветвями (обычно с тем же именем). То есть ваша локальная ветвь "master" следует за "origin / master" и т. д.

Итак, после того, как вы получили, чтобы увидеть, что удаленный "мастер" по сравнению с вашим местным "мастером", вы просите Git показать вам именно это:

git log origin/master ^master

что означает "все коммиты, доступные из "origin / master", которые не включают коммиты, доступные из " master"" или, альтернативно

git log master..origin/master

что имеет то же значение. Вижу страница руководства" gitrevisions" для получения дополнительной информации, особенно части "указание диапазонов". Также см. примеры в страница руководства git-log

вы можете настроить вывод git log как вы считаете нужным, поскольку он поддерживает множество вариантов, влияющих на него.

обратите внимание, что ваша локальная ветвь также может иметь коммиты, которые соответствующая удаленная ветвь не содержит (пока). Чтобы получить представление о них вы должны отменить изменения, переданные в git log по (надеюсь) понятным причинам.

как обычно, это важно для просвещение сами чтобы понять основные концепции, прежде чем начать использовать средство. Пожалуйста.


попробовать

git log --oneline --decorate origin/master

это даст вам журнал изменений от master глава origin remote (вы можете заменить любую другую удаленную ветку по мере необходимости). Вы получите результат примерно так:

234121 (origin/master) Commit message 5
872373 Commit message 4
623748 Commit message 3
235090 (master) Commit message 2
192399 Commit message 1

фиксация с пометкой (master) глава вашей местной master филиала. Фиксация отмечена (origin/master) глава ПДУ master филиала.


Если вы просто хотите увидеть, какие файлы будут изменены, если вы сделаете git PULL, сделайте следующее:

git fetch && git diff HEAD @{u} --name-only

Если вы хотите увидеть все различия между текущей и входящей версиями, включая незафиксированные локальные модификации, введите следующее:

git fetch && git diff @{u} --name-only