[英]How merge branch with specific commit
為了將分支合並到現有分支上的“之前”,需要做一些事情。
在Git中,每次提交都在自己的哈希中包含其父哈希,以確保完整性。 這意味着您想要在它們之間合並某些內容的最后一次提交將不得不重命名其他所有內容。
這個想法是將當前的“ master”存儲為一個名為“ old-master”的分支。 我們知道將master設置為所需的提交並進行合並。 然后,我們可以決定恢復舊的主服務器上的提交,而不是新的主服務器上的提交(在您的情況下為f0c5f03),或者只保留它。
$ git checkout master
$ git branch old-master # let's call our current master in additon "old-master"
$ git reset f2097eb # reset master (currently checked out) to this commit. See [git reset][1].
您的圖表現在看起來像
o old-master
/ ^ this is commit f0c5f03
o master
\
o - o .... o 12columns
讓我們進行合並:
$ git merge 12columns
就您而言,這是一個快速的前進 。 因此,不執行任何實際的合並。 我們的圖現在是:
o old-master
/
o - ...... o # master
現在我們可以決定了。 您要扔掉舊主人還是將其放在頂層:
$ git branch -D old-master # Remove the old commit f0c5f03
或簽出舊版母版,然后將其重新設置為基礎
$ git checkout old-master
$ git rebase master
結果是:
o - o ...... o - o # master
^ f2097eb ^ Commit f0c5f03 but now with new commit hash.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.