[英]Git merge master without reverting commit
我正在尝试修复我的git分支,这就是我所做的。
我有一些应该在分支机构中开发的代码; 但是,我承诺并推动掌握(提交A)。
然后我继续并恢复该提交,并将恢复推送到master(提交B恢复A)。
然后我创建了一个提交A的分支并继续我的开发(提交C和D)。 所以这就是我的树目前的样子:
* D (HEAD -> branch_a, origin/branch_a) removed testing code
* C updated
| * B (origin/master, origin/HEAD, master) Revert "new code"
|/
* A new code
我希望能够将这个分支干净地合并回主人。 通常我会做的是git pull origin master
进入我的分支但是在这种情况下我不能这样做,因为master
具有A的恢复。
我可以在branch_a
做些什么来确保它能够合并回master
而不会丢失我的工作?
在输入问题之后,我发现了一个类似的问题恰好在其中有一个命令,它实现了我正在寻找的结果。
由于对master
的唯一提交是B,这是在分支上不需要的提交,因此可以使用策略将master
合并到branch_a
,以便在发生冲突时保持分支中的更改。
从branch_a
运行git merge -s ours master
,它会在发生冲突时使用branch_a
版本将master
合并到branch_a
。
此操作的结果将树更改为:
E (HEAD -> branch_a, origin/branch_a) Merge branch 'master' into branch_a
|\
| * B (origin/master, origin/HEAD, master) Revert "new code"
* | D removed testing code
* | C updated
|/
* A new code
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.