Я не хотел терять некоторую информацию после git pull
, поэтому сделал git fetch
раньше. Где я могу прочитать новые модификации после git fetch
? Я пошел к файлу FETCH_HEAD
, но там не было ничего, кроме большого числа.
Где найти изменения из-за `git fetch`
Ответы (3)
git fetch origin
по умолчанию извлекает все с пульта с именем "origin" и обновляет (или создает) так называемые "ветки удаленного отслеживания" для этого пульта. Скажем, для удаленного устройства с именем «origin», которое содержит ветки с именами «master» и «feature», запуск git fetch remote
приведет к обновлению (или созданию, если их не существует). Вы можете увидеть их в выводе 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 diff master origin/master
не был упомянут? Кажется, очень просто ответить на вопрос ОП ...? (Я новичок в Git и учусь, поэтому, пожалуйста, поправьте меня, если ошибаюсь.)
- person Howiecamp; 09.08.2016
master
, которые вы не получили от их master
(ваш теперь обновленный origin/master
). Это не неправильный поступок, но он не покажет вам, какие у них есть коммиты, которых у вас нет (есть на вашем master
), а git log
подойдет именно это.
- person torek; 16.06.2018
Пытаться
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
ветки.
git log --all --oneline --graph
- person andrejs82; 11.12.2018
Если вы просто хотите посмотреть, какие файлы будут изменены, если вы выполните GIT PULL, сделайте следующее:
git fetch && git diff HEAD @{u} --name-only
Если вы хотите увидеть ВСЕ различия между вашей текущей версией и входящей версией, включая незафиксированные локальные изменения, введите следующее:
git fetch && git diff @{u} --name-only
It is a shortcut to refer to the upstream branch which the current branch is tracking
- person Lunfel; 19.04.2020
gitk
? Если вы это сделаете, запуститеgitk --all
, чтобы просмотреть текущее состояние всех ваших веток на локальном компьютере, даже тех ветвей, которые были обновлены при выборке. - person creemama   schedule 21.05.2012git show object
, где объект - это большое хешированное число ... - person Prince John Wesley   schedule 21.05.2012