2016-11-22 18 views
0

私は最近、git mvを使用してブランチのフォルダ構造を大きく変更しました。その結果、履歴を保持するために、名前の変更/削除が行われません。Git merge keep mv history

このブランチを他のブランチにマージすると、コンテンツが変更されたすべてのファイルに対して追加/削除が行われます。

Gitは、Remove/Addを実行しようとしてから移動したファイルをはっきりと理解しています。

名前が変更されたファイルとのマージ中にファイルの履歴が変更されないようにするにはどうすればよいですか?

答えて

0

Gitは実際に名前の変更を追跡しませんが、削除されたファイルと追加されたファイルの量を判断することで、名前を推論します。

[diff] 
    renamelimit = 3000 

あなたはgit config --global diff.renameLimit 3000経由で設定することができます検出を支援することができ、いくつかの設定(およびコマンドラインオプション)があります。 merge.renameLimitもありますが、設定しない場合はデフォルトでdiff.renameLimitになります。残念ながら、文書化されたデフォルト値は見つかりませんでしたが、source codeは400がデフォルトの制限であると思われます。

それともgit diff-lオプションだけでなく、-M/--find-renamesオプションを見ることができます。