我决定使用VCS在笔记本电脑和主计算机之间进行同步。那时候,我非常喜欢bzr,所以我用它。工作流很简单 - 在主机上我有一个脚本,它检测到附近的笔记本电脑的外观并执行以下步骤:
现在,我慢慢走向git - 不是最后一个原因是Github和git的优越速度。但我没能用git设置相同的工作流程。首先,它拒绝进入签出存储库 - 我用receive.denyCurrentBranch =“warn”解决了这个问题,然后执行git reset --hard。但是这样,如果他们没有被提交,我会丢失我在笔记本电脑上所做的任何更改。我尝试使用“git reset --merge”,但(与bzr不同)它拒绝合并一些冲突的文件。
有没有办法用git解决这些问题?
答案 0 :(得分:1)
这对git来说是完全可行的,但在我看来,要么你没有完全描述你的环境(为什么要推?哪里是“起源”?),或者你在bzr和git之间混淆了术语。
在“主计算机”上(主要的回购没有改变,是一个“裸”回购,或者有第三个原始回购)这是一个好主意:
git commit -am "Auto committing"
无需在这里推。
然后ssh到笔记本电脑:
git pull <main_computer's remote> master
如果您当前都在同一个分支上,即当然是master。有更复杂的方法可以更安全地完成它,但对于最简单的2台机器而没有第三台机器的情况,这应该做到。最后,您可以为碰撞设置合并策略,请参阅git help merge