0

私はgitプロジェクトで働いています。私にはいくつかのブランチがあり、ブランチで少しコーディングし、git add してから git commit し、別のブランチに切り替えて、コードを追加し、コミットします。私の問題は、ある時点でファイルを追加するのを忘れて、git status でファイルが追跡されていないと表示されることですが、どのブランチでファイルを作成したか忘れてしまいます。どうすればそれを知ることができますか? ファイルを追加してからコミットすると、ファイルは実際のブランチにコミットされますか? またはその所属するブランチに?前もって感謝します。

4

3 に答える 3

2

あなたがするとき:

git add myfile.txt
git commit -m 'My message'

ファイル (およびインデックス内の他のすべての変更) は、現在のブランチにコミットされます。適切なブランチにいるときにファイルを追加してコミットしていない場合、git は、実際にファイルを作成したときにどのブランチのどこにあったかを伝えることができません。

UPDATE次のものを発行できます。

git reflog show --date=local

これは、いつブランチを切り替えたかを示しています。ファイルの作成時間とともに、これにより、ファイルがおそらくどのブランチに属しているかを判断できます。

于 2013-06-07T22:08:48.420 に答える
2
  1. はファイルを追跡していないためgit、最初に作成されたブランチを知ることはできません。
  2. ファイルは現在の「作業」ブランチに追加されます

あなたがどの環境にいるかはわかりませんが、ファイルのタイムスタンプを見て、対応するブランチ/コミットを見つけようとするのは役に立ちます。git log --until <time>

于 2013-06-07T22:05:49.043 に答える
2

どのブランチにも属していないため、どのブランチに属しているかはわかりません。あなたはそれをコミットしませんでした。

タイムスタンプを比較することで、それ以降ファイルに変更を加えていないと仮定して、作成時にどのブランチで作業していたかを判断できる場合があります。

実行git log --allして、すべてのブランチからのコミットのリストを表示し、ミステリー ファイルのタイムスタンプに最も近いタイムスタンプを探します。そのコミットは、おそらく探しているブランチからのものです。

于 2013-06-07T22:13:17.007 に答える