這裏是我的gitk(改善我覺得從這個問題,謝謝@amber:Merging commits from branch to master -> odd-looking tree):如何解決和合並這個混帳樹?
科frontend
是在左邊。您可以在右下角看到master
和remotes/origin/master
的提示,並以黃色顯示。
我需要做兩件事情,我經歷過約36小時的麻煩:
- 我怎麼可以開始添加
frontend
的承諾掌握(一個接一個,「添加推遲'首先),所以我可以推他們?我不想合併整個分支,因爲涉及很多代碼,並且兩個分支都有工作樹,我不想打擾。 我似乎在
frontend
附近有兩個相同的「批量更新」條目,左上角沒有分支。我怎樣才能擺脫頂部的無網格bulk update
的東西,所以有2個乾淨的分支?我想有它看起來像這樣:| # frontend | # Bulk update. | # ...commits... | # move this frontend commit to master | | #master's changes | | #master, remotes/origin/master, remotes/staging/master
我真的很想做這自己,但最後一天,掙扎的一半表明,在我進入絲毫不準確常常導致在搞亂它更多。
這一切都是正確的。不過,你在第二個問題上有點偏離。提交不僅僅是快照 - 它們還包括元數據。這兩個提交可以具有相同的樹,但是不同的消息(和時間戳)。你遺漏了一件重要的事情:那個提交的第二個版本幾乎肯定是由'git commit --amend'創建的;重要的是要知道修改提交會創建一個新的提交,並且舊提交仍然懸而未決。在這種情況下,它被固定在那裏。 – Cascabel 2012-02-09 23:43:37
至於彈出存儲:你可能不想在master上這樣做,因爲它可能隱藏了在前端分支上下文中有意義的工作。如果它的內容很重要,那麼在彈出它之前可能需要檢查前端。如果你想把它扔掉,你可以使用'git stash clear'去除所有的stash,或者'git stash drop stash @ {n}'去掉那個(使用'git stash list'來查看'n'應該)。 – Cascabel 2012-02-09 23:45:16
@Jefromi謝謝,我不記得其他事情可能已經改變,這將改變提交的唯一性。我更新了我的答案。 – James 2012-02-10 18:05:35