还原一个git分支以反映另一个

时间:2014-08-13 13:10:24

标签: git branch git-branch branching-and-merging revert

假设我有一个master分支,并在defect之外创建了master分支。 defect分支正在master之上添加更改,但master分支正在这些更改之间合并到defect分支。当我git diff master HEAD时,我会看到master之上的具体更改。但是,因为这些更改分散在与master的合并交错的各种提交中,所以我没有可以恢复的单个提交。我需要创建一个新的提交,它将撤消masterdefect分支之间的所有差异,以便我可以将defect分支合并到另一个(发布)分支以撤消由此创建的更改defect分支。从理论上讲,我可以将所有文件从master复制到defect分支并作为新提交提交,因为这样可以有效地撤消这些更改。但是我怎么能用git来实现呢?

1 个答案:

答案 0 :(得分:1)

因此,如果我理解正确,您需要更改defect以使其内容与master匹配。如果是这种情况,请执行:

git checkout master -b temp 
git reset --soft defect 
git commit -m "Updating defect to reflect master"
git checkout defect
git merge temp
git branch -d temp