4

参考までに、私はほとんどgitguiを使用して、gitにかなり慣れていません。

プロジェクトで既に追跡されているファイルを含む、既に追跡されているフォルダーの名前を変更すると、git はフォルダー内のすべてのファイルを新しい追跡されていないファイルとして認識します。そのフォルダーに含まれるファイルの履歴を「失わない」ように、フォルダーの名前のみを変更したことをgitに理解させるにはどうすればよいですか?

4

3 に答える 3

5

Git はファイルやフォルダーを気にしません。そこで言いました。それはあなたのコンテンツを追跡します。ファイルを移動すると、一連のファイル/フォルダーの削除およびファイル/フォルダーの作成として、git ステータスに表示されます。コミット後、Git は、この正確なコンテンツが既に表示されていることを検出し、「ファイル」と「フォルダー」だけでなく、チャンクを管理する方法でコードをあるファイルから別のファイルに移動した場合でも追跡できます。

Git へようこそ!

于 2010-06-28T21:50:37.357 に答える
2

Gitは、移動/名前の変更またはコピーを明示的に追跡しません。代わりに、要求されたときにそれらを検出します。移動して実行しますgit diff -M

于 2010-06-28T21:24:26.840 に答える
1

Git が実際にコンテンツ トラッカーであることを示す例を次に示します。

  1. git Blame の -CCC オプションを使用すると、ファイルやリビジョン間で移動された行を見つけて、正しい Blame を関連付けることができます。
  2. git diffファミリーの --find-copies-harder オプション、 git format-patch、およびgit logは、同じ点を示しています。関連する注意事項として、プロジェクトにパッチを送信するときは、少なくとも -C を指定して format-patch を実行してください。

したがって、コピーや移動について Git に明示的に伝える必要はありません。自動的に検出されます。

于 2010-06-29T12:55:46.873 に答える