我正在使用我的macbook在运输过程中和我的电脑在家里进行开发。我的项目文件夹包含所有php文件和.git文件夹。问题是,在我对macbook进行更改后尝试使用rsync同步文件夹时,我遇到了很多冲突。
完成该工作流程的最佳方法是什么?只同步提交的文件,所以没有冲突?
答案 0 :(得分:1)
您不应尝试rsync本地暂存的未提交文件或文件。使用git来演出这些东西。您始终可以将它们提交到开发分支并将其合并回主线。 Git已经解决了这个问题。
答案 1 :(得分:1)
您可能会遇到很多冲突,因为您的配置core.autocrlf
可能设置为原生,自动将行尾转换为CR + LF(PC)或LF(Mac)。
例如,请参阅“How to repair CRLF in GIT repository to avoid merge conflicts”。
我建议仅使用.gitattributes
来管理eol样式,例如“What's the best CRLF handling strategy with git?”。
详情请见“How line ending conversions work with git core.autocrlf between different operating systems”
答案 2 :(得分:0)
忘记rsync。只需提交对本地git仓库的更改,然后git pull --rebase
以便在另一台计算机上进行更改(在将其远程设置为指向第一台计算机之后)。
但这确实意味着每次同步时都必须连接计算机,这很乏味。一种不那么繁琐的方法是在你控制的服务器上设置一个中间git仓库,然后从每台计算机同步到该网络服务器的git实例。
例如,如果您获得具有正常shell访问权限的VPS主机帐户,则在安装git之后,创建网络仓库就像git init --bare
一样简单。然后从你的每台机器上克隆它,你就可以了,只需推送到中间仓库即可在机器之间同步更改。
例如:如果您的VPS用户名是" myuserid"在运行IP 1.2.3.4的服务器上,您已经创建了" mybarerepo"在您的VPS主目录中,然后将其克隆到您键入的本地计算机上:git clone ssh://myuserid@1.2.3.4/~/mybarerepo