git mv
を使用してファイル数を2つに変更しました。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%
私は今、これらの移動したファイルのうちの一つの歴史を取得しようとしているので、私は古いバージョンを見ることができますが、私は非常に何かを得ることはありません。ここでは、問題のコミットについて言っているgitのです便利:それがあった時点で停止し
~/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%
私はこの時点で完全に詰まったわけではありませんが、私はこのようなことを常に行う必要はないと思います。 (私は人生で少なくとも1回動くかなりの数のファイルがあると予想しています)
私は間違っている?ファイルの古いコピーと新しいコピーは98.8%同じです(166行中2行が変更されました)。私の理解は、明示的に格納するのではなくリネーム操作を推測するため、gitはファイルを追跡できなければならないということです。
私はこれを修正するために何かできますか?
推測:〜/ projects/system/runtime/srcの代わりに〜/ projects /内のコマンドを実行すると機能しますか? – Douglas
いいえ、私は同じ結果を得ます。 (とにかくあなたがどんなフォルダにも入れられるようにするのは大丈夫だと思う...) –
それは私に考えを与えてくれた。コメントありがとう! –