Как получить историю фиксации только для одной ветви?


допустим, я создал новую ветку my_experiment с master и сделал несколько коммитов в my_experiment. Если я сделаю git log, когда на my_experiment, Я вижу коммиты, сделанные в этой ветке, но также коммиты, сделанные в master до my_experiments ветка была создана.

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

есть ли способ сделать это с Git?

4 82

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. Это позволяет узнать проверенную фиксацию и верхние фиксации для каждой ветви, которая у вас есть в вашей сюжетной линии. Таким образом, у вас есть хороший вид на структуру вашего РЕПО и фиксации, связанные с конкретной веткой. Я думаю, что чтение этой может помочь.