2016-11-29 26 views
0

--sharedオプションを使用してgitリポジトリをクローンすると、元のリポジトリで安全な操作はありますか?具体的には、元のリポジトリでgit fetch originを実行した場合、複製されたリポジトリは破損する可能性がありますか?リポジトリ与え例えば共有gitリポジトリで安全な操作は何ですか?

は、~/repos/foo.git~/repos/foo.git内部で、その後、私はgit clone --shared ~/repos/foo.gitを使用して新しいリポジトリを作成するときに、(それは裸のgitリポジトリである)、そして私は、git fetch origin実行するには、クローン化されたリポジトリが破損することができますか?

答えて

2

git-fetchは、孤立したオブジェクトを削除する(つまり、git gc --autoをトリガーした場合)かどうかを示す標準ソースを思いつくのは難しいです。しかし、あなたがあなたの裸、ソースリポジトリの設定でこれを固執することができ、自動ガベージコレクションが実行されることはありませんを確認する場合:

git config --global gc.auto 0 

これは、これまでに自動的にGCを実行しているから、それを防ぐことができますに。 auto-gc以外では、git-fetchはオブジェクトを削除しません(設定に応じてrefを削除する可能性がありますが、最悪の場合は孤立したオブジェクトになります。の場合はGC)。 git-fetchのマンページでは、既存のオブジェクトを削除しない限り、ソースリポジトリ内の操作はすべて正常であることを明示的に示しています。

関連する問題