2009-10-31 85 views
10

我想查看下一个push会做的所有更改的列表。 git status似乎知道我已经提交了本地提交...我如何获得这些内容?我一直在做的是这样的:git:如何查看更改,下一次推送将发送

% git status 
# On branch master 
# Your branch is ahead of 'origin/master' by 7 commits. 
... 

好了,它说提交。那么我做

% 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”基本上会这样做,因为没有stage/unstaged的概念。

回答

10
git diff --name-status origin/master 

注意,你也可以在你的git的配置文件中定义的别名,如 “NEWMASTER” 之一:

git config alias.newmaster "diff --name-status origin/master" 

一旦做到这一点,你可以使用

git newmaster 

得到你想要的。

+0

感谢。我认为我有这个语法问题。我在做origin.master和origin master,但没有/。它看起来像我会做一个Git获取原点,让这一切都准备好这种差异? – Trenton 2009-10-31 01:50:41

+1

如果您的本地原件/主版本过期,您可能还需要先进行git获取。 – Neall 2009-11-02 13:48:11

1

这不就是'git cherry'的用途吗?

我有一个shell别名“推?”:

$ type push? 
push? is aliased to `git cherry -v origin/master' 

这不会给你做出确切的变化,但你的好提交消息应该告诉你就够了。

0

这将列出存在于您的分支的所有提交,但不是在原产/主

git的日志产地/主..