Как получить историю фиксации только для одной ветви?
допустим, я создал новую ветку my_experiment с master и сделал несколько коммитов в my_experiment. Если я сделаю git log, когда на my_experiment, Я вижу коммиты, сделанные в этой ветке, но также коммиты, сделанные в master до my_experiments ветка была создана.
мне было бы очень полезно посмотреть историю всех обязывает к my_experiments ветвь, пока она не попадет в создание этой ветви-фактически истинная история именно этой ветви. В противном случае мне не ясно, когда просматривая журнал, были ли коммиты на my_experiments ветке или нет.
есть ли способ сделать это с Git?
4 ответа:
можно использовать ряд для этого.
git log master..если вы проверили свой
my_experimentфилиала. Это позволит сравнить, гдеmasterв кHEAD(кончикmy_experiment).
The
git merge-baseкоманда может быть использована для поиска общего предка. Поэтому, если my_experiment еще не был объединен в master и my_experiment был создан из master, вы можете:git log --oneline `git merge-base my_experiment master`..my_experiment
Примечание: Если вы ограничиваете этот журнал до последнего N фиксации (последние 3 фиксации, например, git log -3), обязательно поместите пробел между ' n ' и вашей веткой:
git log -3 master..перед Git 2.1 (август 2014), Эта ошибка:
git log -3master..фактически покажет вам последние 3 коммита текущей ветви (здесьmy_experiment), игнорируяmasterпредел (имеется в виду, еслиmy_experimentсодержит только один коммит, 3 все равно будут перечислены, 2 из них отmaster)посмотреть commit e3fa568 by Junio C Hamano (
gitster):revision: parse"
git log -<count>" более тщательноэта ошибочная командная строка просто игнорирует "
master" и в конечном итоге показывает два коммита из текущегоHEAD:$ git log -2masterпотому что мы кормим "
2master" кatoi()не убедившись, что вся строка анализируется как целое.использовать
strtol_i()вспомогательную функцию вместо.
Я думаю, что вариант для ваших целей-это
git log --oneline --decorate. Это позволяет узнать проверенную фиксацию и верхние фиксации для каждой ветви, которая у вас есть в вашей сюжетной линии. Таким образом, у вас есть хороший вид на структуру вашего РЕПО и фиксации, связанные с конкретной веткой. Я думаю, что чтение этой может помочь.