我在Laravel框架中有一个Php项目。
初始代码状态:A
一个月后,另一名开发人员加入我。
6个月后,
我的代码状态:A + B
他的代码状态:A + C
B和C有许多常见文件,所以我们期待在git merge期间发生冲突。我们现在希望有一个代码库:A + B + C
我目前的状态/策略正在进行中: 我已经设置了一个远程git存储库,其中包含代码A + C和带有A + B的本地git存储库。
如何最好地将远程git存储库(A + B)与我的本地git存储库(A + C)合并,以便在本地和远程git存储库上都有A + B + C?
请协助!
答案 0 :(得分:0)
假设A + C
在master中,A + B
在pull请求分支中。如果B和C修改了相同的文件,它们可能会导致彼此发生合并冲突,因此您需要在将拉取请求分支合并到主服务器之前解决这些问题,以便更容易查看和集成。因此,您应该将master合并到pull请求分支(这将添加与父B和C的合并提交),或者将您的pull请求分支与master重新绑定(这会将分支的提交更改为A + C + B
)。
答案 1 :(得分:0)
我建议您从A
创建两个分支,例如:MY_A
和HIS_A
,然后您可以将B
和C
添加到您的分支: MY_A + B
和HIS_A + C
解决冲突,然后尝试将其余工作添加到两者中,并选择最容易解决的问题:
MY_A + B + C
或HIS_A + C + B
但是使用分支机构你永远不会丢失你的工作,而且你总是可以这样做而不改变存储库
<强>更新强>
首先拉你的主分支(A+C
):
$ git pull origin master
然后从主分支创建分支和创建AC
:
$ git checkout -b AC master
在更改为其他分支之前,请确保将所有工作提交
然后从master分支创建另一个分支create AB
:
$ git checkout -b AB master
这里你在其他分支,你可以添加他的代码并提交它而不用担心删除或更改文件
看你的分支机构使用:
$ git branch
更改为分支AC
使用:
$ git checkout AC
更改为分支AB
使用:
$ git checkout AB
现在你有两个分支,你可以看到差异
read this,并使用git diff AC..AB
查看终端中的差异,以及如果您在两个分支之间进行合并将会发生什么。