在git中解决冲突而不合并主分支



我有一个关于解决git冲突的问题。我使用功能分支工作流和github。有时,当我想将分支与主分支合并(通过PR)时,会发生冲突

为了解决我笔记本电脑上的冲突,我习惯合并分支上的main,以解决与编辑器的冲突,然后再次推入分支。这样,冲突就解决了,github可以将我的分支与main合并这是一个好的解决方案吗?我问这个问题是因为我在网上找到的所有方法都是合并主分支,然后推主分支。但是,当我没有权限在主分支

上运行时,这种解决方案不适合。

你做的很好。合并主版本到你的特性分支,推送,它会正确更新你的PR。

即使你有权限直接推送到master也是一个不好的做法。Pull请求的存在是有原因的,这样人们就可以在合并之前查看你的更改。这对请求者和审阅者都是有益的。

另一个选择是rebase,但它可能会破坏您的PR,因为提交哈希在rebase上发生了变化。

你可以使用下面的命令将commit重新建立在master上,

X是来自HEAD

的提交数。git rebase—to master feature~X feature

这将把你的特性分支设置为master版本,并把X个提交数量放在master版本之上。这样,与合并不同,您的更改将位于功能分支的顶部,而不是中间的某个位置。

然后你必须强制推送到远程功能分支并创建PR。

最新更新