1

リモート、developer1、developer2があるシナリオを考えてみましょう。Developer1は自分のプロジェクトをリモートにプッシュします。Developer2は、リモートからプロジェクトのクローンを作成し、ファイルの名前を変更して別のフォルダーに配置します。次に、プロジェクトをリモートにプッシュします。次に、developer1はリモートからプロジェクトをフェッチします。

その場合、gitの名前変更メカニズムは、名前が変更されたファイルが他のフォルダーにあることを認識しますか?

4

1 に答える 1

0

Gitには、ファイルの名前変更/移動を検出するための非常に優れたメカニズムがあります。ファイルの内容があまり変更されていない場合(内容の90%は同じである必要があると思います)、gitはこれを移動/名前変更として検出します。これは、コミットメッセージで次のように表示されます。

file.txt -> folder/file.txt

gitがファイルの移動を検出しなかった場合(ファイルの多くが変更されたため)、次のようにしてgitに通知できます。

git mv file.txt folder/file.txt

このようにして、ファイルの移動が確実に検出されるようにすることができます。

どちらの方法でも、変更をプルするときに、名前の変更を含め、developer2の各操作がコードのローカルコピーに対して実行されます。

于 2012-06-30T20:53:59.020 に答える