Что такое 2-й столбец в git reflog?
Я просто сделал простой git reflog
и это первые несколько строк, которые я получил:
column1 Column2 Column3
2797a1d4 (HEAD -> master, upstream/master) HEAD@{0}: checkout: moving from master to master
2797a1d4 (HEAD -> master, upstream/master) HEAD@{1}: pull upstream master: Fast-forward
a461a29f HEAD@{2}: checkout: moving from master to master
a461a29f HEAD@{3}: reset: moving to HEAD
a461a29f HEAD@{4}: pull upstream master: Fast-forward
784f2cp3 (yy, alphabets, hotFix) HEAD@{5}: checkout: moving from yy to master
784f2cp3 (yy, alphabets, hotFix) HEAD@{6}: checkout: moving from master to yy
784f2cp3 (yy, alphabets, hotFix) HEAD@{7}: checkout: moving from alphabets to master
Я пытаюсь понять, что представляет каждый столбец. Читая этот пост и этот вопрос я уже выучил:
- Column1, очевидно, является коммитом,
- Column2, где я запутался. Я понимаю
HEAD@{0}
вHEAD@{7}
концепция. Не берите части, которые в скобках!, Что значит(yy, alphabets, hotFix)
представлять? - Столбец 3 - это действие, т.е. оформление / получение вместе с сообщением.
Кроме того, я не уверен, почему существует несколько строк одного и того же коммита? Это потому, что разные ветви указывают на один и тот же коммит и между ними нет изменений кода?
1 ответ
Reflog говорит вам, как HEAD
переехал. Есть более трех столбцов. Git Docs тупой об этом. Оказывается git reflog
это просто псевдоним для git log
с некоторыми переключателями.
git reflog show
[по умолчанию] является псевдонимом дляgit log -g --abbrev-commit --pretty=oneline;
784f2cp3 (yy, alphabets, hotFix) HEAD@{7}: checkout: moving from alphabets to master
784f2cp3
Сокращенный коммит.(yy, alphabets, hotFix)
Ветвь возглавляет этот коммит, какgit log --decorate
,HEAD@{7}
Расположение этого коммита относительноHEAD
, Добавлено-g
,checkout
Какая команда была запущена.moving from alphabets to master
Человекочитаемое описание.
(4 и 5 технически один и тот же столбец.)
Это говорит о том, что вы были на ветке alphabets
и побежал git checkout master
,
Кроме того, я не уверен, почему существует несколько строк одного и того же коммита? Это потому, что разные ветви указывают на один и тот же коммит и между ними нет изменений кода?
Да, точно.
784f2cp3 (yy, alphabets, hotFix) HEAD@{5}: checkout: moving from yy to master
784f2cp3 (yy, alphabets, hotFix) HEAD@{6}: checkout: moving from master to yy
784f2cp3 (yy, alphabets, hotFix) HEAD@{7}: checkout: moving from alphabets to master
yy
, alphabets
, hotFix
, а также master
были все на одном коммите. Проверка между ними просто изменяет, какая глава ветви будет перемещена при следующем коммите.
Другие могут быть внутренними HEAD
движения, которые происходят, когда вы бежите git pull
, git pull
это сочетание git fetch
а также git merge
,