簡體   English   中英

如何在git中覆蓋另一個分支的分支

[英]How can overwrite the branch from another branch in git

我有feature分支,然后是master分支。

我將feature復制到feature1 ,將主副本復制到master1

然后我

git checkout master1
git merge feature1
# Resolved all conflicts and commited

然后我去了

git checkout master
git rebase master1

然后我又向大師提交了1次提交來解決問題

現在,我擁有自己喜歡的主分支,但我無法推動它。 所以理想情況下,我想在以前的feature分支上使用這個新的master分支代碼

這樣我以前的所有提交都在那里,我可以像以前一樣繼續提交

在此處輸入圖片說明

所以在圖片頂部42bb是我的主人HEAD

底部161a是我的功能分支。

我希望我的功能分支HEAD42bb或者是功能分支上的新提交,等於42bb提交

我這樣做了,但不確定是否正確

git reset --hard master我的功能分支上的git reset --hard master

我希望我的特征分支HEAD為42bb

git checkout feature 
# standard warning about reset --hard being working directory unsafe 
git reset --hard HEAD

可能是功能分支上的新提交,等於42bb提交

這有點復雜。

git commit-tree -p feature -m "commit msg" 42bb^{tree}

這將創建一個以161a為父項的提交,其樹內容為42bb。 您需要使用git update-ref更新功能分支以指向返回的SHA

暫無
暫無

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

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