Git承诺Dropbox存储库问题

时间:2011-01-18 18:10:01

标签: git dropbox

我正在尝试与一些团队成员合作开发项目,我们正在使用git作为源代码控制。我们的中央存储库位于Dropbox上,我们都可以访问它。

我是git的新手,但我在这里找到了一些说明,以帮助完成所有设置。对我来说这是有效的,但对于我的队友来说,当他们尝试提交/推送它时不会更新文件。 以下是我们遵循的步骤:

我这样做了:

~/project $ git init
~/project $ git add .
~/project $ git commit -m "first commit"
~/project $ cd ~/Dropbox/git

~/Dropbox/git $ mkdir source.git
~/Dropbox/git $ cd source.git
~/Dropbox/git $ git init --bare
~/Dropbox/git $ cd ~/project

~/project $ git remote add origin ~/Dropbox/git/source.git
~/project $ git push origin master

然后在我的电脑上我创建了test.txt,把一些东西放进去,做了:

~/project $ git add .
~/project $ git commit -m "second commit"
~/project $ git push

这些更改已从我的计算机发送到Dropbox存储库。

现在我告诉我的朋友们这样做:

~/Desktop $ cd ~/project
~/project $ git clone -o dropbox ~/Dropbox/project/source.git

然后他们获得了计算机上的所有文件,但是当他们更新test.txt,commit和push时,Dropbox test.txt文件没有更新。更新.git文件以显示新提交,但存储库的test.txt文件未显示任何更改。

我们做错了什么? 谢谢!

2 个答案:

答案 0 :(得分:2)

你没有做错任何事,就是这样,git是如何运作的。存储库(基本上是.git)目录和工作副本(您编辑的文件)是两回事。 push仅更新存储库,但不更新工作副本。工作副本有充分理由永远不会自动更新(图片,你放弃了工作,只是因为你的同事推送到你的存储库)。

阅读有关钩子的Git文档,以安装post-receive钩子,它会更新工作副本。

答案 1 :(得分:0)

不要将Dropbox用于git仓库。您最终会在单个文件中出现无法解决的冲突。使用像unfuddle.com,github等真正的git repo。

除此之外,在可行时运行git教程。