git:如何推出而不退房?

我有两台计算机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拉(妈妈……这有点麻烦……).

点赞