Pro Git & sect; 3.1. Ветвь Git - что такое ветвь имеет хорошее объяснение того, что на самом деле представляет собой ветка git
Ветвь в Git - это просто легкий подвижный указатель на [a] commit.
Поскольку ветвь является просто легким указателем, git не имеет явного представления о своей истории или дате создания. "Но держись," я слышу, как ты говоришь, "конечно, мерзавец знает историю моей ветки!" Ну, вроде как.
Если вы выполните одно из следующих действий:
git log <branch> --not master
gitk <branch> --not master
вы увидите то, что выглядит как «история вашей ветви», но на самом деле это список коммитов, доступных из «ветви», которые недоступны из master. Это дает вам информацию, которую вы хотите, но тогда и только тогда, когда вы никогда не сливали «ветку» обратно в мастер и никогда не сливали мастер в «ветку» с момента ее создания. Если вы слили , то эта история различий рухнет.
К счастью, журнал reflog часто содержит информацию, которую вы хотите, как объяснено в различных других ответах здесь. Используйте это:
git reflog --date=local <branch>
чтобы показать историю ветки. Последняя запись в этом списке (вероятно) - это точка, в которой вы создали ветвь.
Если ветвь была удалена, то ветвь больше не является действительным идентификатором git, но вы можете использовать его вместо этого, что может найти то, что вы хотите:
git reflog --date=local | grep <branch>
Или в оболочке Windows cmd:
git reflog --date=local | find "<branch>"
Обратите внимание, что reflog не будет эффективно работать в удаленных филиалах, только в тех, над которыми вы работали локально.