Где найти изменения из-за "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