我有一个存储在我的Dropbox中的git存储库(和工作目录),所以我可以在计算机之间来回移动而不必提交或存储(阅读:根本没有任何努力) 。除了一个令人烦恼的小烦恼之外,这个工作很好。Dropbox中的非同步Git存储库
每隔一段时间,我都会让一台计算机处于完全提交状态,以便在另一台计算机上启动并发现git status
报告发生更改。这些更改不可避免地与权限相关。我不确定的是为什么?我认为这可能与Dropbox如何在同步计算机上写入文件有关,但两个系统上的umask
都设置为0002.我认为该值决定了Dropbox写入/更新的文件的模式,但它不会是我第一次错了。
我知道我只能告诉Git忽略文件模式,但这只是掩盖了问题。我真的很想理解它,所以我可以做出明智的决定如何继续。
谢谢。
UPDATE
所以这里有一个仓库失控,即使它完全包含在Dropbox的同步的一个相当不错的代表性的例子。正如我们讲,我个人的笔记本电脑是报告一个干净的工作目录,我的项目之一:
$ git status
# On branch develop
nothing to commit (working directory clean)
我的工作笔记本电脑,不过,报道了一些未跟踪文件。让我再说一遍:未追踪文件。
$ git status
# On branch develop
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# html/cake/console/libs/templates/
# ...4 more files...
# html/cake/tests/test_app/plugins/test_plugin/views/themed/
nothing added to commit but untracked files present (use "git add" to track)
这怎么可能?我的~/.gitignore
文件也在两台机器上共享(不是任何这些路径都被忽略在忽略文件中)。 Git的另一个组件 - 或者Dropbox--可以在这里玩吗?
对你的问题:不(我经常看到这个,但并不一致),两个Mac,我会尝试,是的(至少在短期内)。我会继续钻研并跟进。 – 2010-09-22 12:21:00
Google搜索Dropbox和OS X权限会返回http://hints.macworld.com/article.php?story=20081009204908181,但我认为这与您所描述的情况无关。 – 2010-09-22 13:39:55
这需要一段时间才能重现自己。我没有花很多时间尝试,但我仍然无法预测它的复制。我现在所拥有的是一个系统,其中有几个文件有644个烫发,'git status'显示他们没有修改。另一个系统,其中相同的文件是644和'git status',显示从755修改的权限。 – 2010-09-29 11:35:07