1

git にファイルをコミットしました。これにはいくつかの変更が加えられていますが、古いファイルと完全に異なるわけではありません。git は変更を抽出するのではなく、1 つの大きな削除を行いました。ファイル全体と 1 つの大きな挿入。新しいファイル。これはエラーです。変更されていないセクションが明らかに大きくなっています。たとえば、ファイルは多数の「using」ステートメントで始まり、どれも変更されていません。

これは、すべての「非難」履歴が失われることを意味するため、面倒です。

git で差分をやり直す方法はありますか? これを引き起こすために何ができたでしょうか?これが起こったとき、私は別のブランチからマージしていました。

4

1 に答える 1

0

Git は diff を保存しません。コミットごとにファイル ツリーのバージョンを保存するだけです。によって作成された差分git showは、Git 内部 DB に格納されているものではありません。

あなたの場合、次の-Mオプションを使用すると、ファイルの名前が変更されていることがわかりますgit diff

   -M[<n>], --find-renames[=<n>]
       Detect renames. If n is specified, it is a threshold on the similarity index (i.e. amount of addition/deletions compared to the file’s size).
       For example, -M90% means git should consider a delete/add pair to be a rename if more than 90% of the file hasn’t changed.

それはあなたのためにトリックをするはずです。

于 2013-04-25T13:39:04.507 に答える