2014-05-10 26 views
2

我正在PHP中創建一個簡單的git查看器,並且我需要一種方式來列出並計算所有未提交給我的Bitbucket的提交來自當前分支的帳戶。列出當前分支中尚未推送到遠程Git工具的所有本地提交

我試着使用:

git cherry -v 

這確實給我提交的名單,但名單中包含兩個推未推

看着一對夫婦的我試過其他問題後:

git log @{u}.. 

這給了我相同的結果。

其他答案需要命令中分支的名稱,我想返回當前HEAD分支的結果。

+1

使用'git log --oneline / .. '會告訴你所有在''中的提交都不在遠程分支中。這基本上是'git log @ {u} ..'所做的,除了你當前的HEAD需要跟蹤遠程分支以使該特定表單工作。 **但是**,我不確定'git log'是否是用於定製的git GUI的正確工具,因爲它通常是一個高級別的UI瓷質命令,而不是低級別的管道,這意味着它是不保證與未來版本的Git向後兼容。 –

+0

對我來說git'cherry -v'給出你想要的東西(以及在MAN中說的) - _git-cherry - 查找尚未應用於上游的提交_ – Isantipov

+1

你會發現一個低級Git命令列表[here ](https://www.kernel.org/pub/software/scm/git/docs/git.html#_low_level_commands_plumbing)。我確信必須有一些方法可以將它們結合使用,以便與將來的Git版本兼容。 –

回答

1

你的第一次嘗試是正確的,應該爲您提供您正在尋找的信息,下面是其他選項相同的命令,以指定所需<upstream><head>

git cherry -v origin/master master 

注意,結果是顯示最上面的提交(與git log命令相反)。

你的問題可能是由您的HEAD的位置造成的,使用此命令來有你的日誌一個明確的說法:

git log --graph --oneline --decorate 

希望這將幫助你識別和解決您的問題。

相關問題