を使用していくつかのファイルの名前を変更しgit mv
、使用しgit stash
、HEADを(変更せずに)簡単に確認してgit stash pop
から、全体を元に戻しました。私の動きはコミットリストから消えていたので、私はそれらをやり直し、git rm
gitが名前の変更を見つけたと主張するコミットメッセージは名前の変更でした。だから私はそれ以上考えませんでした。
しかし、今、コミット後、移動されたファイルの履歴を取得できません!問題のコミットについてgitが言っていることは次のとおりです。
~/projects% git log --summary
commit de6e9fa2179ae17ec35a5c368d246f19da27f93a
Author: brone
Date: Wed Dec 8 22:37:54 2010 +0000
Moved R_DebugUI into runtime
delete mode 100644 test/R_DebugUI_iOS.h
delete mode 100644 test/R_DebugUI_iOS.m
create mode 100644 system/runtime/src/R_DebugUI_iOS.h
create mode 100644 system/runtime/src/R_DebugUI_iOS.m
<<snip older commits>>
~/projects%
私は現在、これらの移動されたファイルの1つの履歴を取得しようとしているので、古いバージョンを見ることができますが、あまり有用なものは何も得られません。
~/projects/system/runtime/src% git log --follow --find-copies-harder -M -C R_DebugUI_iOS.m
commit de6e9fa2179ae17ec35a5c368d246f19da27f93a
Author: brone
Date: Wed Dec 8 22:37:54 2010 +0000
Moved R_DebugUI into runtime
~/projects/system/runtime/src%
(私も、、、を使わずに試しました-M
が、役に立ちませんでした。)-C
--find-copies-harder
古い名前で履歴を取得できます。古い名前は、古い場所から削除された時点で停止します。
~/projects% git log --summary --follow --find-copies-harder -M -C -- test/R_DebugUI_iOS.m
commit de6e9fa2179ae17ec35a5c368d246f19da27f93a
Author: brone
Date: Wed Dec 8 22:37:54 2010 +0000
Moved R_DebugUI into runtime
delete mode 100644 test/R_DebugUI_iOS.m
commit 32a22d53c27e260714f759ecb3d3864e38b2e87f
Author: brone
Date: Tue Dec 7 23:52:51 2010 +0000
Can set debug UI's alpha.
<<snip older commits>>
~/projects%
ですから、今回は完全に行き詰まっているわけではありませんが、いつもこういうことをしなくてはいけないのではないでしょうか。(私は、彼らの生活の中で少なくとも一度は移動するかなりの数のファイルがあることを期待しています。)
私は何か間違ったことをしていますか?ファイルの古いコピーと新しいコピーは98.8%同じです(166のうち2行が変更されています)。私の理解では、この場合、gitはファイルを明示的に保存するのではなく名前変更操作を推測するため、ファイルを追跡できるはずです。ファイルは十分に類似しているため、同じと見なす必要があります。
これを修正するために私にできることはありますか?