我有一个关于解决git中冲突的问题。我使用功能分支工作流和github。有时候,当我想将分支与主分支合并(通过PR)时,会发生冲突为了解决我的笔记本电脑上的冲突,我习惯于合并分支上的main来解决与编辑器的冲突,然后再次推送分支。所以,冲突被解决了,github可以把我的分支和主分支连接起来,这是一个好的解决方案吗?我问这个问题是因为我在网上找到的所有方法都是合并主分支,然后推主分支。但是,当我没有权限在主分支上引导时,这种解决方案并不适用
nbnkbykc1#
你所做的是好的。合并主到你的功能分支,推动,它会正确地更新你的公关。即使您有权限,直接推送到主文件也是不好的做法。拉取请求是有原因的,这样人们可以在合并之前审阅您的更改。这对请求者和审阅者都有好处。另一个选项是rebase,但它可能会破坏PR,因为提交哈希在rebase时会发生变化。您可以使用以下命令在master上重定提交基础,X是来自HEAD的提交数
git rebase --到主功能~X功能上
这将把你的特性分支设置为master版本,并把在特性分支上的X个提交放到master版本的顶部。2这种方式和merge不同,你的修改将放在特性分支的顶部,而不是中间的某个地方。然后,您必须强制推送到远程特征分支并创建PR。
1条答案
按热度按时间nbnkbykc1#
你所做的是好的。合并主到你的功能分支,推动,它会正确地更新你的公关。
即使您有权限,直接推送到主文件也是不好的做法。拉取请求是有原因的,这样人们可以在合并之前审阅您的更改。这对请求者和审阅者都有好处。
另一个选项是rebase,但它可能会破坏PR,因为提交哈希在rebase时会发生变化。
您可以使用以下命令在master上重定提交基础,
X是来自HEAD的提交数
git rebase --到主功能~X功能上
这将把你的特性分支设置为master版本,并把在特性分支上的X个提交放到master版本的顶部。2这种方式和merge不同,你的修改将放在特性分支的顶部,而不是中间的某个地方。
然后,您必须强制推送到远程特征分支并创建PR。