Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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 "& raquo; или, альтернативно,

git log master..origin/master

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

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

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

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

Ответ 2

Try

git log --oneline --decorate origin/master

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

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.

Ответ 3

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

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

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

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