git reflog показывает мне коммиты, не связанные с моей веткой.Как получить коммиты, связанные с веткой, которую я проверил? - PullRequest
3 голосов
/ 11 июня 2019

Я случайно совершил и слил какую-то работу в другую ветку, когда не собирался. Чтобы это исправить, мне нужно вернуться к более раннему коммиту.

Однако, когда я запускаю git reflog, я получаю список коммитов, относящихся к другой ветке, над которой я работаю. Ни один из них не связан с филиалом, над которым я сейчас работаю и который уже проверен.

Кто-нибудь знает, почему это так и как я могу найти коммиты, относящиеся к моей ветке?

Ответы [ 2 ]

2 голосов
/ 11 июня 2019

Если у вас все еще есть ваша ветвь, используйте: git reflog [yourbanch]

Если вы ищете историю otherbranch: git reflog [otherbranch]


git reflog, то естьярлык для git reflog HEAD, предоставляющий подробную историю всех проверенных коммитов;в общем, это полезно (это делает большой стек отмены), но действительно более шумное.

1 голос
/ 11 июня 2019

Формат, который вы используете, когда вы делаете простой git reflog, равен

git reflog [show] [log-options] [<ref>]

, поэтому вы фактически пропускаете два аргумента, которые будут приняты и вернутся к их значениям по умолчанию:

git reflog show HEAD

, которая выводит историю самого HEAD, поэтому список действий (при условии, что у вас do есть рабочий процесс с несколькими ветвями) сочетает разные ветви.

Но вы могли указать ветвь (ДАЖЕ ЕСЛИ ветвь уже получена, поскольку HEAD не будет разрешена в текущую ветку здесь):

git reflog some-feature

(здесь, show действие также подразумевается, но ветвь является явной)


Из doc :

Подкоманда show (которая также являетсяпо умолчанию, при отсутствии каких-либо подкоманд) показывает журнал ссылки, предоставленной в командной строке (или HEAD, по умолчанию).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...