说我正在处理共享的回购。该repo是一个defaults.js
文件,用于指定各种URL。当我在本地克隆repo时,我将其中一些URL更改为指向本地运行的服务。如何将这些URL设置为本地值,同时从远程提取新更新?
到目前为止,我一直很开心(天真地?)使用here
描述的方法git stash
git pull
git stash pop
但今天尝试这个时我收到了
CONFLICT(content):在config / defaults.js中合并冲突
由于我们改变而不是合并,我不想开始创建混乱的合并,特别是对于那些微不足道的东西。所以我只是重置,摆脱我的更改所以本地镜像遥控器,然后再次手动更改URL。显然,我不想继续这样做,首选方法是什么?
上面链接中的解决方案只是
git checkout --theirs -- defaults.js
因为你知道你在藏匿处放的是你想要的。但在我的情况下,情况并非如此,我确实希望将我和他们合并,而不是实际合并。
答案 0 :(得分:1)
只要你保持与origin
不同的状态,你就不想做出承诺,你就会遇到这样的冲突,以及你所做的事情。 ;已经尝试过几乎是最简单的解决方法。
有一些更清洁的方法可以解决这个问题,避免使用Git进行预测:
如果您可以使用环境变量,请设置defaults.js
以优先选择这些变量并回退到文件中包含的另一个默认值。然后,您可以设置本地ENV与您的同事或制作人不同。
设置local-defaults.js
文件,优先于defaults.js
(批发或合并选项),并将其添加到.gitignore
,以便'没有承诺。然后每个人都可以保留他们自己的文件,无论他们需要什么覆盖。
这些都是代码更改 - 实际上是一项新功能 - 但随着团队规模的扩大,每个人都会很高兴他们可以在不必通过stash
舞蹈的情况下进行适当的自定义。