Как отобразить недоступные коммиты, используя `git log`? - PullRequest
0 голосов
/ 05 апреля 2020

Я использую следующую команду git для отображения истории фиксации ниже:

git log --graph --oneline --decorate --all -n 25

Я хочу отобразить (недоступный) коммит 490ab89 как часть истории после сброса на root commit 20513d9:

*   490ab89 (HEAD -> feature) Merge branch 'feature2' into feature
|\
| * a47187b (feature2) Adds random-file
* | b39cb83 (master) Adds some-file
|/
* 20513d9 Adds hello-world

git reset --hard 20513d9

* a47187b (feature2) Adds random-file
| * b39cb83 (master) Adds some-file
|/
* 20513d9 (HEAD -> feature) Adds hello-world

Как я могу git log отображать недоступные коммиты?

1 Ответ

1 голос
/ 05 апреля 2020

Вы можете дать git log необработанный коммит га sh ID, если вы его помните:

git log 490ab89

или, с вашими параметрами:

git log --graph --oneline --decorate --all -n 25 490ab89

Обратите внимание, что Предел -n 25 может скрывать 490ab89, если сначала отображаются 25 других коммитов. Когда git log имеет более одного коммита для посещения одновременно - как это происходит с --all 490ab89, поскольку имена feature, feature2 и master выбирают три других коммита, что дает в общей сложности 4 для первоначального посещения - он помещает коммиты ha sh ID в очередь с приоритетами. Затем он берет один коммит из приоритетной очереди, отображает его и вставляет в очередь своих родителей. Коммит 490ab89 будет посещен только после того, как он достигнет начала очереди, что, очевидно, зависит от его приоритета относительно других коммитов.

(Порядок приоритетов по умолчанию - метка времени коммиттера, с последующими коммитами - с более высокие временные метки - имеющие больший приоритет. Опция --graph подразумевает опцию --topo-order, которая несколько изменяет эти приоритеты.)

Предполагая, что у вас включены reflogs, вы также можете использовать записи reflog, чтобы найти соответствующий объект. sh ID. В этом случае и HEAD@{1}, и feature@{1} назовут commit 490ab89.

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