将远程git仓库与本地git仓库合并

时间:2015-12-03 15:30:51

标签: git

我在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?

请协助!

2 个答案:

答案 0 :(得分:0)

假设A + C在master中,A + B在pull请求分支中。如果B和C修改了相同的文件,它们可能会导致彼此发生合并冲突,因此您需要在将拉取请求分支合并到主服务器之前解决这些问题,以便更容易查看和集成。因此,您应该将master合并到pull请求分支(这将添加与父B和C的合并提交),或者将您的pull请求分支与master重新绑定(这会将分支的提交更改为A + C + B)。

答案 1 :(得分:0)

我建议您从A创建两个分支,例如:MY_AHIS_A,然后您可以将BC添加到您的分支: MY_A + BHIS_A + C解决冲突,然后尝试将其余工作添加到两者中,并选择最容易解决的问题:

MY_A + B + CHIS_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查看终端中的差异,以及如果您在两个分支之间进行合并将会发生什么。