将分支B重新置于分支A的顶部,最终结果与分支B的内容完全相同

时间:2019-02-28 14:38:02

标签: git

我有:

O (origin/master) - - A (A)
                  \ 
                    - B (B)

AB中完成工作的第一个版本,但不幸的是B不是基于A,而是单独的提交。

A将被合并到最初创建的原始/母版中:

O - - A (origin/master)
  \
    - B

B将在几天内合并,我希望Origin / master上的代码与B提交中的当前代码完全相同。

用我自己的话:我想向A追加新的提交,以删除在A中所做的所有更改,并将其替换为B中的更改。

使用git进行此操作的简单方法是什么?

3 个答案:

答案 0 :(得分:0)

尚不清楚您想要哪个最终结果,但这应该对您有所帮助:

git checkout master
git revert HEAD # revert the commit A
git checkout B
git rebase master # rebase B onto new master

现在您将拥有:

* previous history
* A, origin/master
* master (commit reverting commit A)
* B

我没有放置任何git push命令;我留给你。如果您已经希望将B上的工作纳入母版:

git checkout master
git rebase B

答案 1 :(得分:0)

我会使用软重置

segimg = Image.open("result1.png") 
segimg = segimg.convert("RGB")

足够了

答案 2 :(得分:0)

git checkout A
git read-tree -um @ B
git commit

两棵树的读取树(@HEAD的同义词)是检出(也是快速合并)基础的核心命令操作,减去HEAD-更新零件。