2012-01-16 195 views

回答

61

試試這個(假設你用master分公司工作,遠程調用origin):

git push origin HEAD^:master 

HEAD^點到當前分支中的最後一個(最後提交的時候可以被稱爲前提交作爲HEAD),所以這個命令將這個提交(以前的所有提交)推送到遠程origin/master分支。

如果您有興趣,可以在this man page中找到更多關於指定修訂版的信息。

更新:我懷疑是這種情況,但無論如何,如果您最後一次提交合並,您應該小心使用該命令。隨着合併提交的HEADHEAD^指的是承諾,HEAD^2第一父 - 它的第二個父母等

5

另一種可能性是

git reset --soft HEAD^ 

以取消提交您最近提交和移動變化上演。那麼你可以

git push 

它只會推動其餘的提交。通過這種方式,您可以在推送前查看將要推送的內容(通過git log)。