6

Dropboxに保存されているgitリポジトリ(および作業ディレクトリ)があるので、コミットしたり隠したりせずにコンピューター間を行き来できます(読み取り:何の努力も必要ありません)。これは、大きな迷惑になりつつある1つの小さな迷惑を除いて、うまく機能しています。

時々、私は一方のコンピューターを完全にコミットされた状態のままにして、もう一方のコンピューターをピックアップし、git statusレポートが変更されていることを確認します。必然的に、これらの変更は権限に関連しています。よくわからないのはなぜですか?Dropboxが同期されたコンピューターでファイルを書き込む方法に関連している可能性があると想定しましたが、umask両方のシステムで0002に設定されています。値はDropboxによって書き込まれる/更新されるファイルのモードを決定すると想定しますが、そうではありません。初めて私は間違っていたでしょう。

Gitにファイルモードを無視するように指示できることはわかっていますが、それは問題を覆い隠しているだけです。私はそれを本当に理解したいので、どのように進めるかについて情報に基づいた決定を下すことができます。

ありがとう。

アップデート

したがって、リポジトリが完全にDropboxに含まれているにもかかわらず、リポジトリが同期しなくなったかなりまともな代表的な例を次に示します。私たちが話しているように、私の個人的なラップトップは、私のプロジェクトの1つについてクリーンな作業ディレクトリを報告しています。

$ 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)はありますか?

4

3 に答える 3

1

私は同じ状況下でこの正確な問題を抱えています。

に表示されるファイルを停止するには、git statusファイルモードの変更を無視するようにgitを設定できます。

git config core.filemode false

この変更はgitリポジトリに対してローカルであり、ファイルと一緒に同期されます。

于 2011-03-10T22:52:44.717 に答える
1

umaskを設定している場所を確認することをお勧めします。ドロップボックスがシェルのumaskとは異なるumaskで始まっている可能性があります。ただし、gitはグループ/その他のアクセス許可を無視し、主に実行ビットに関係していると思います。実行ビットは、umaskの影響を受けないはずです。デバッグに関するいくつかの考え:

  • これをオンデマンドで再現できますか?どのように?
  • どのオペレーティングシステム間で同期していますか?
  • 問題のファイルを使用している場合git checkout -f、それらは正しいアクセス許可を取得していますか?
  • 単にchmod1つのシステム上のファイルの場合、その変更は伝播されますか?
于 2010-09-22T03:29:52.800 に答える
0

あなたがMacを使っているという事実は関連している-コメントで言及されているMacworldのヒントの記事chmod u+rwXは問題を説明している(しかし、物事を台無しにするかもしれない絶対的な許可ではなく、etcで許可を修正する方法を説明するコメントまで読んでください)。

このDropboxサポートの回答は、おそらく何が起こっているのか、そしてそれを修正する方法を説明しています-MacOS X Leopard(10.5)がACLのデフォルトの使用法をどのように変更したかに関連しています。

于 2011-10-13T16:14:10.913 に答える