Ответ 1
Команда
git log origin/master..master
показывает коммиты, находящиеся на master
, но не на origin/master
.
Я проверял коммит Х, используя следующую команду:
git log --author=<my-name> -<X>
Но проблема в том, что я случайно вытащил код из другого репозитория и добавил коммиты из репозитория в локальный репозиторий git.
Поэтому я не могу использовать указанную выше команду, так как новые коммиты содержат других авторов.
Команда
git log origin/master..master
показывает коммиты, находящиеся на master
, но не на origin/master
.
Я сделал псевдоним для этой команды, в которой перечислены коммиты, которые не были нажаты.
git log --branches --not --remotes --decorate --oneline
который является изменением команды cxreg, размещенной в Просмотр Unpushed Git Commits.
Множество других полезных способов разбора дерева коммитов в этом сообщении.
Обозначение 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
На этот вопрос будет дан ответ уже в другом сообщении:
git log origin/master..HEAD
Я использую это:
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