Как заставить "git log" показывать наборы изменений, которые новее, чем те, к которым вы переустанавливали? - PullRequest
2 голосов
/ 27 ноября 2011

Если я переустановлю набор изменений, скажем, HEAD^, то git log --all больше не отображает более новый набор изменений выше текущего.Есть ли способ сделать так, чтобы это отображалось?

1 Ответ

2 голосов
/ 27 ноября 2011

git reflog должен отображать коммит, на который ранее ссылалась HEAD перед вашим сбросом.
(git reflog, ваша сеть безопасности )

Смотрите " Отмена сброса git --hard HEAD ~ 1"в качестве конкретного примера.
Вы также можете попробовать, только с git log, параметр -g:

-g, --walk-reflogs

Вместо того, чтобы ходить по цепочке предков коммитов, перебирайте записи рефлогов от самых последних к более старым

В конце концов, git reflog можно сделать с помощью git log -g --oneline.

git log --walk-reflogs master # show reflog entries for master

OP rFactor добавляет:

Можно ли отфильтровать все, кроме слияний и фиксаций?
Например, я хочу получитьизбавиться от Checkout и Updating HEAD.

Я не понимаю, как этого можно добиться без фильтрации вывода.
Jefromi согласен в комментариях:

git reflog ... | grep -v 'checkout:\|updating HEAD'

Кроме того, после того, как вы выясните, какой коммит вы хотите видеть, вы можете использовать log нормально:

git log HEAD@{7} 
# or 
git log <SHA1>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...