LINUX.ORG.RU

git log не показывает всю историю после checkout. Как быть?

 


0

1

Допустим, необходимо посмотреть, как выглядел проект в момент какого-нибудь коммита.

Даем команду:

git log

Находим хеш нужного нам коммта (пусть это будет 50f1df6c) и приводим проект в состояние этого коммита:

git checkout 50f1df6c

Вопрос: что теперь будет показывать git log?

Ответ: git log будет показывать историю только до коммита, на который мы переключились. А как же теперь переключиться на более новые коммиты, которых не видно в истории? Ведь теперь невозможно узнать их хеши!

Нашел пока что один ответ - нужно дать команду

git checkout

Вот так, без параметров. И Git должен перекинуть проект на последний коммит. Однако это решение не работает.

Как быть?

★★★★★

Ответ: git log будет показывать историю только до коммита, на который мы переключились. А как же теперь переключиться на более новые коммиты, которых не видно в истории? Ведь теперь невозможно узнать их хеши!

git checkout master вернёт тебя к исходной точке.

А вообще для таких дел, возможно, имеет смысл использовать gitk, gitg и прочие морды.

yoghurt ★★★★★
()
git checkout "@{-1}"

а вообще читать до просветления

git log --help
git checkout --help
git reflog --help

maloi ★★★★★
()

сделай отдельный бранч и ползай по нему, а лог вызывай на мастер. Ну или наоборот. Или лог проси у сервера, если всё равно юзаешь сервер.

stevejobs ★★★★☆
()
Ответ на: комментарий от yoghurt

имеет смысл использовать gitk, gitg и прочие морды

ТСу имеет смысл для начала прочитать доку по git-log
а точнее понять назначение ключей --decorate, --graph, --all и --oneline

q11q11 ★★★★★
()

которых не видно в истории?

git log master
git log --graph --stat --decorate master
backbone ★★★★★
()

Вопрос: что теперь будет показывать git log?

более того, наверняка, git status будет показывать «not currently on any branch»

ты чего добиться-то хочешь?

может уже надо бранчи осилить и git checkout -b newbranch 50f1df6c
м?

aol ★★★★★
()
Ответ на: комментарий от Deleted

Спросить на лоре совета, читать ли документацию к гиту, очевидно.

Очевидно, сообщество ненужно, ведь вместо того чтобы спрашивать, можно прочитать документацию на неродном языке. А если там не найдешь ответ, можно посмотреть код, ведь это опенсорч. Нам не нужно обмениваться информацией. Каждый должен копаться по отдельности. Тогда всем станет хорошо.

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

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

таки в прогит об этом моменте не написано

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

yoghurt ★★★★★
()

Я, в таких случаях, делаю

gitk --all

Там сразу видно всю историю выше текущего коммита при --all.

Norgat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.