我有两台计算机A和B,并使用git sync一些文件,例如init.el.
A的回购托管在embuddle托管. B的回购是在当地.
> A中的init.el被修改并推送.
> B中的init.el也被修改了.
问题是:如何将A的更改合并到B中并将最终的init.el推送到unfuddle(A),而不在B中扩展A的所有文件.
还是有更好的解决方案?
谢谢.
最佳答案 因此,如果您不想拉动在A处修改的文件,您可以这样做:
在B,创建一个新的分支并将其推送到远程服务(如你所说,解开):
cd path/to/init.el
git branch featureModifiedInB
git checkout featureModifiedInB
git push origin featureModifiedInB
在A,拉出在B处创建的分支的更新,管理合并&冲突:
cd path/to/init.el
git pull origin featureModifiedInB // Or you can do fetch and manually do merging.
git checkout master
git merge featureModifiedInB
// After solve the conflict if it exists.
git push origin master
它确保使用B的人无法看到使用A的人编辑的文件.但这会导致问题:pB无法获得有关他/她创建的代码的反馈.但是pA也可以修改featureModifiedInB分支并让它被pB拉(妈妈……这有点麻烦……).