Git提交到Dropbox仓库的问题

3

我正在与团队成员合作开发项目,我们使用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、提交并推送后,Dropbox中的test.txt文件没有被更新。.git文件已经更新以显示新的提交,但是仓库的test.txt文件没有显示任何更改。
我们做错了什么呢? 谢谢!

“.git”文件已更新以显示新提交。Git对提交有何说法?它是空的吗? - Gabe Moothart
2个回答

2
你做得很好,这就是git的工作方式。仓库(基本上是.git目录)和工作副本(你编辑的文件)是两个不同的东西。push只更新仓库,而不更新工作副本。出于很好的原因,工作副本永远不会自动更新(例如,你的同事向你的仓库推送,你会失去你的工作)。
阅读有关钩子的Git文档,安装一个post-receive钩子,以更新工作副本。

我认为他正在谈论存储库文件未更新,而不是本地工作副本。 - Jimmy
Jimmy是对的。仓库文件没有更新,这是我所期望的。除非我执行git fetch,否则我不希望工作文件被更新。 - robev
好的,显然它正在工作,我弄错了。不过这个答案还是很有用的。 - robev

0
不要使用Dropbox作为git仓库。你最终会在个别文件中遇到无法解决的冲突。请使用像unfuddle.com、github等真正的git仓库。
除此之外,尽可能地运行一个git教程。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接