如何使用git进行文件同步?

Geo*_*uer 6 git synchronization

我需要分布式文件同步.首先,有什么建议吗?我的想法是git,因为速度是一个问题.

我的git知识非常简陋,但这就是我所做的.

我下载了便携式git(我在PC上这么msysgit).我将副本放入c:\ root\git并将副本放入c:\ root\git c:\ client\git \

我创建了一个目录c:\ temp\root\content并在其中创建了一些文件

c:\root\content>..\git\bin\git.exe init
c:\root\content>..\git\bin\git.exe add *
c:\root\content>..\git\bin\git.exe commit -f
c:\client>..\git\bin\git.exe clone file:///c:\root\content
Run Code Online (Sandbox Code Playgroud)

这会创建一个内容目录,但它是空的!提交到root的文件不存在.

当我做拉动命令时,我得到了

C:\temp\client\content\content>c:\temp\client\git\bin\git.exe pull
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Your configuration specifies to merge the ref 'master' from the remote, but no such ref was fetched
Run Code Online (Sandbox Code Playgroud)

显然我错过了一个概念.这是怎么回事?

小智 5

查看http://sparkleshare.org/

Sparkleshare为您提供类似于Dropbox的用户体验,除了它的底层同步引擎是git.这不是最稳定的东西,但你可以看它的日志输出,看看它将实现无缝同步的git命令.一旦你学会了这些,你就可以简单地创建自己的稳定同步脚本.我认为大多数sparkleshare的问题都在GUI中.


gli*_*tak 5

git-annex可能是另一个需要考虑的工具。


Way*_*rad 1

Git可以成为在开发和生产之间同步源代码的好工具,原因之一是:它可以轻松地在生产中进行“热修复”并将修复检查回树中。当然,您应该始终在开发或测试环境中重现错误并修复它,但有时您做不到。

而不是git add *,使用git add .

在提交之前使用git status以确保适当的文件已暂存以供提交。