Подтвердить что ты не робот

Ваш филиал опережает "происхождение/мастер" по X фиксации. Как найти коммит Х?

Я проверял коммит Х, используя следующую команду:

git log --author=<my-name> -<X>

Но проблема в том, что я случайно вытащил код из другого репозитория и добавил коммиты из репозитория в локальный репозиторий git.

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

4b9b3361

Ответ 1

Команда

git log origin/master..master

показывает коммиты, находящиеся на master, но не на origin/master.

Ответ 2

Я сделал псевдоним для этой команды, в которой перечислены коммиты, которые не были нажаты.

git log --branches --not --remotes --decorate --oneline

который является изменением команды cxreg, размещенной в Просмотр Unpushed Git Commits.

Множество других полезных способов разбора дерева коммитов в этом сообщении.

Ответ 3

Обозначение treeish..treeish работает точно, чтобы видеть коммиты, которые присутствуют во второй ссылке, но не в первой. Из справки git справки:

Регулярный D..M вычисляет множество коммитов, которые являются предками M, но исключает те, которые являются предками D. Это полезно, чтобы увидеть, что произошло с историей, ведущей к M с D, в том смысле, что "что у M нет в D".

Используя это с помощью git log или git show, вы можете вывести список, содержащий одну строку для каждого фиксатора фиксации в разнице D..M:

git show -s --oneline branch..HEAD

или

git log --oneline branch..HEAD

Сопоставьте это со словом, и вы можете точно указать количество коммитов, которое вы ищете:

git log --oneline branch..HEAD | wc -l

Ответ 4

На этот вопрос будет дан ответ уже в другом сообщении:

git log origin/master..HEAD

(см. Просмотр Unpushed Git Commits)

Ответ 5

Я использую это:

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

Он отображает фиксации в виде графика со всеми ветвями и их именами.

Мой совет - создать псевдоним для него в ~/.gitconfig