我有两台电脑A和B,并使用git同步一些文件,例如init.el。
A的存储库托管在unfuddle上。B的存储库是本地的。
或者还有更好的解决方案吗?
谢谢。
- A中的init.el已被修改并推送。
- B中的init.el也被修改了。
或者还有更好的解决方案吗?
谢谢。
因此,如果您不想拉取在A
修改的文件,可以按照以下方式操作:
在B
处创建一个新分支并将其推送到远程服务(如您所说的unfuddle):
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 拉取(嗯..有点麻烦..)。
有几个选项:
git push -f origin master
。请注意,强制推送会对那些从您分支并想要合并的人造成一些问题。