Git: как увидеть изменения, которые отправит следующий push
Я хочу увидеть список всех изменений, которые будет делать следующий push
. git status
, похоже, знает, что я сделал локальные коммиты... как мне это показать, что это такое? То, что я делаю, выглядит примерно так:
% git status
# On branch master
# Your branch is ahead of 'origin/master' by 7 commits.
...
Хорошо, он сказал, что 7 совершает. Итак, я делаю
% git diff --name-status HEAD~7
M bin/bench
M scala/001/02.scala
M scala/007/01.scala
A scala/010/01.scala
A scala/016/01.scala
A scala/020/01.scala
Есть ли более сжатый способ сделать это? Я привык к svn, где "svn diff" будет по существу делать это, потому что нет понятия поэтапного/нестационарного.
Ответы
Ответ 1
git diff --name-status origin/master
Обратите внимание, что вы также можете определить псевдоним в конфигурационном файле git, например, "newmaster":
git config alias.newmaster "diff --name-status origin/master"
Как только это будет сделано, вы можете использовать
git newmaster
чтобы получить то, что вы хотите.
Ответ 2
Разве это не то, что "git вишня"?
У меня есть псевдоним оболочки "push?":
$ type push?
push? is aliased to `git cherry -v origin/master'
Это не дает вам точных изменений, но ваши хорошие сообщения о фиксации должны сообщать вам достаточно.
Ответ 3
Здесь перечислены все коммиты, которые существуют в вашей ветке, но не в исходном/главном
git log origin/master..