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 文件未显示任何更改。

我们做错了什么?谢谢!

4

2 回答 2

2

您没有做错任何事情,这只是 git 的工作方式。存储库(基本上是.git)目录和工作副本(您编辑的文件)是两个不同的东西。push只更新存储库,但不更新工作副本。工作副本有充分的理由永远不会自动更新(图像,您会丢失您的工作,只是因为您的同事推送到您的存储库)。

阅读有关钩子的 Git 文档,安装一个接收后钩子,它会更新工作副本。

于 2011-01-18T18:19:52.983 回答
0

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

除此之外,在可能的情况下运行 git 教程。

于 2011-07-06T05:00:54.787 回答