[英]Git: move last commit from branch to master
我有2個提交:A和B.兩個都是相互獨立的,包含不同的文件。 我有2個分支: master
和branch1
:
master: A
branch 1: A, B
我需要刪除branch 1
並將提交B
移動到master
。 我試着這樣做
git cherry-pick B
,
但它只是將B復制到A中,而我需要它具有相同的提交編號 - 最重要的是 - 保存那里的注釋!
有什么辦法嗎? 我看了不同的答案,真的不確定如何處理我的情況。
將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.