2009-07-24 75 views
5

我使用git status命令来查看我在git工作目录中本地更改的内容。 但是这个命令有一个“相反的”吗?'git status'命令的对面

我的意思是我想知道别人已经签入了我的远程/跟踪分支(我不确定远程分支是否与跟踪分支相同,在git中),但这些更改不在我的工作目录。

+2

我的第一个念头是,“你想知道* *少你的分支?尝试吸烟杂草什么的......” – 2009-07-24 17:41:23

回答

10

正如在问题中提到“How to get the changes on a branch in git

git log HEAD..branch 

可能是你在找什么在这里。

 x---y---z---branch 
     /
---a---b---c---d---e---HEAD 

它会返回x,y,z。注意:只有两个点,而不是三个:HEAD..branch

在本其他问题中提到:

这是相同的git log branch --not HEAD,并表示“所有提交的分支上没有的HEAD

注意:您需要一个git fetch第一,以便更新远程分支的本地副本。没有这一点,你不会在远程分支上选择任何新的修改。


注:一个tracking branch是连接到远程分支的本地分支。当您按下并拉动该分支时,它会自动推送并拉到它所连接的远程分支。

当您克隆存储库时,Git只会创建一个对应于远程主服务器的分支。对于您希望在本地工作的远程存在的其他每个分支,您需要创建一个本地分支来跟踪远程分支。

补丁可能是在制造(2009年6月为patch proposition)添加到git remote命令“tracking”选项,用(这不是一个明确描述,但仍然没有成品)

git remote tracking <remote> <remote branch> 

会显示所有地方分公司跟踪<remote branch>,并有<remote>作为默认的远程,而

git remote tracking <local branch> 

将显示<remote><remote branch>如果<local branch>是继远程跟踪分支。

虽然我在upcoming Git1.6.4中看不到此功能。

0

看来你正在寻找“git log”命令..检查手册页中SO here

this问题还可以帮助