簡體   English   中英

GIT:如何在還原合並后從分支中提取更改

[英]GIT: How to pull changes from branch after a reverted merge

我希望標題不是很混亂。

歷史(又名我做錯了):

假設有兩個分支,主要和特征。 功能是一個分支,我保留一個較長的功能項目,並不時在該分支上使用git pull origin master來保持更新主代碼的更新。

我偶然合並並將功能推入主人。

它還沒有准備好,所以我試圖恢復它。 我試過以下: http//sethrobertson.github.io/GitFixUm/fixup.html#pushed_new_merge但我想我做錯了。 我用過:git revert然后提交恢復並推送它。 問題似乎已經解決了 - 這個功能在主人不再變化

現在的問題是,當我嘗試在功能分支上使用git pull origin master時,它會繼續刪除我的文件並恢復所有更改,因為它正在與revert-commit合並。 主人的頭是過去的那個恢復,我需要從更新的提交中拉出更改繼續功能分支。

我用谷歌搜索了這個話題,最有希望的答案是這樣的: https//metlos.wordpress.com/2012/01/13/git-merging-after-a-revert/但這里合並的方式不同於我想要的to(要掌握的功能,我需要掌握功能)。

我正在考慮創建master的clone分支,然后應用來自該分支上的鏈接的指令,這樣我就可以得到我需要的結果,但是我擔心這是一個臨時解決方案,我需要隨時應用我想要從master中提取。

我最好為這個故事不要亂,如果有些事情是不可理解的,我會澄清。

如果您還沒有將master分支推送到團隊/公共存儲庫,並且在掌握了master之后沒有提交,那么您可以這樣做

git reset --hard **the-commit-before-pulling-feature-branch**

分支上。 這將有效地消除歷史上的錯誤,並提供一個干凈的歷史。

否則,(即如果你已經將master推送到repo或者對master做了更多提交),你可以這樣做

git revert **the-revert-commit**

拔出主控后在功能分支上,有效恢復恢復提交。

暫無
暫無

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

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