我开始使用git跟踪我对第三方网络应用的自定义。我与已经使用git跟踪他们的变化一段时间的顾问交流。我会尽量让这个易于理解。
现在,我想要做的就是完成并合并 [LOCAL] 和 [REMOTE] 之间不同的所有文件。
我不关心我目前在LOCAL中的分支或历史。我只关心从现在开始使用REMOTE并发送/接收拉请求以与顾问互动。
你怎么建议我能做到这一点?我尝试在LOCAL上创建一个新分支,并使用3RDPARTY中的更新文件覆盖所有文件。然后我希望新分支和我的常规开发分支之间的合并会给我一个冲突,所以我可以很容易地将它们全部合并到KDiff3,但它只是自动充电并覆盖了我所有的变化。
答案 0 :(得分:1)
您尝试复制所有文件并获得合并但它无法正常工作。这应该有效,但我认为您可能需要遵循一些我将尝试解释的不同步骤。
应该有一个标记,或在3RDPARTY
中签入与导出环境中签入点相同的签到点,这是LOCAL
的第一次签到。我将此签到MERGE_BASE
。请尝试以下步骤:
git checkout master
上REMOTE
并确保它是3RDPARTY
git pull origin
与REMOTE
的最新动态。git branch mergeb <MERGE_BASE>
<MERGE_BASE>
LOCAL
中
我在历史上谈到的是相同或接近的
与你最初创作时的内容相同
LOCAL
。mergeb
中复制最新版本的来源
在我们刚创建的REMOTE
分支中的文件顶部
REMOTE
。不要复制.git目录!mergeb
的{{1}}中使用git add
来确保您的所有内容
更改将应用于git索引,然后运行git commit
。现在
您的REMOTE
mergeb
分支应该具有相同的来源
在LOCAL
。 (您可以使用git遥控器对您的LOCAL执行此操作
变化,但由于你不关心历史我建议只是
这样做可以简化流程。)git checkout master
。git checkout -b remote_work
。mergeb
分支合并到您的remote_work
分支即可
与git merge --no-ff mergeb
。此时你可能会
所有冲突的合并与他们的工作和你的工作
解决。完成此过程并将工作提交到您的分支后,您现在应处于所需的确切状态。
完成所有这些操作后,如果您希望所有工作都显示为3RDPARTY
remote_work
REMOTE
git rebase master
分支REMOTE
上的3RDPARTY
,那么就像3RDPARTY
一样}}
从那时起,我会让remote_work
的主人与他们的REMOTE
个回购同步,并保留未在{{1}}中加入{{1}}或{{1}}回购中的其他各个分支。
如果此过程适合您,请告诉我。