一個很好的互動方式是git rebase -i
。查看一個分支,查看歷史記錄,然後在第一次提交之前選擇一個您想要「加入」的提交(稱爲壓縮)。然後
git rebase -i <the commit>
在編輯器中,您將您選擇的最近的一個後立刻顯示從一個提交列表。它看起來像
pick 2f4b7fa Some commit message
pick 19f58bd Some other commit message
找到你想加入的第一個提交。讓那一套去「挑選」。然後,對於所有想要壓縮的那些,請將「pick」改爲「squash」或「s」。標記提交「壓扁」意味着它將立即與之前(之上)的提交相結合。然後保存並退出。系統會提示您爲將要創建的新提交提交新的提交消息。保存並退出,你就完成了。請注意,您也可以使用分層視圖來移動周圍的提交。所以,如果你有一些失敗的提交,或者你需要將提交移動到一起壓縮它們,你也可以這樣做。另外需要注意的是:如果您將提交內容推送到遠程,那麼這可能會讓事情發生變化,特別是如果您正在與從該遠程計算機上拔出的其他人一起工作。
編輯:既然你已經被推分支已經,你知道沒有其他人在使用它,只要按照上面的步驟,然後做一個git push origin master -f
,假設遠程回購的「原產地」和你」在主分支上。這是一個正常的推動,但-f告訴它覆蓋遙控器上的任何內容,並強制應用您的更改。當你從其他人共享的回購工作時,這會變得危險和/或令人困惑。
爲什麼我得到「-1」? – nacho4d
同意。爲什麼是-1?這是一個合理的問題,尤其是來自新的git用戶。 –
給予好評否定-1 – rasjani