簡體   English   中英

Git:將最后一次提交從分支移動到主分支

[英]Git: move last commit from branch to master

我有2個提交:A和B.兩個都是相互獨立的,包含不同的文件。 我有2個分支: masterbranch1

master: A
branch 1: A, B

我需要刪除branch 1並將提交B移動到master 我試着這樣做

git cherry-pick B

但它只是將B復制到A中,而我需要它具有相同的提交編號 - 最重要的是 - 保存那里的注釋!

有什么辦法嗎? 我看了不同的答案,真的不確定如何處理我的情況。

您有兩個選項, 合並rebase

合並

將branch1合並到master中是最容易理解的操作,也是我建議的選項。 但是,它將顯示為主服務器上的新提交, 具有不同的提交ID

我們將從branch1獲取新的提交,並嘗試將它們合並為master作為我們可以提交的新變更集。 這將保留branch1和master的歷史記錄。

從命令行,您將執行以下步驟:

1)首先簽出分支您要合並

git checkout master

2)現在使用--no-ff選項合並到您的分支中

git merge --no-ff branch1

3)如果需要,您現在可以刪除舊分支

git branch -d branch1

變基

另一種方法是執行rebase。

通過將分支1重新定位到主服務器上,您將有效地將branch1的提交歷史重播到主服務器上。 之后,它看起來好像你最初檢查提交'b'到master, 保留你的提交ID

同樣,從命令行,您將執行以下步驟:

1)首先簽出分支要變基

git checkout master

2)現在將你的分支重新加入主人

git rebase branch1

注意 - 有一些關於變基的警告,如果你不完全理解它是如何工作的,那么使用合並更安全。

如果有疑問 - 合並,不要改變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM