9

私は git を初めて使用するので、この質問が既に回答されている場合は申し訳ありません。これに対する答えを見つけるのに苦労しています。

以前にコミットされたことのない一連のファイルをコミットのために無視したかったので、github アプリを使用してそれらを選択し、無視しました。しばらく別のブランチに切り替えましたが、ブランチに戻ると、無視されていたファイルがなくなっていました。

これらのファイルは削除されていますか?

git checkout を使用してブランチに戻り、 git status --ignored を使用しました。不足しているファイルがありません。

4

3 に答える 3

5

これを行うgit reflog --allには、他のブランチに切り替える前に、Github アプリが無視されたファイルを自動的に隠したときから SHA コードを取得します。https://stackoverflow.com/a/8865242/2970321を参照してください。

たとえば/pr/364、アプリ (SHA 2ba129d) を使用してプル リクエスト ( ) を取得しました。に戻す前にgh-pages、無視されたファイル (SHA 36edfc6) を隠していました。

ドロップされたスタッシュの SHA コードを見つける

したがって、回復するために必要だったのは次のことだけでした。

git checkout 36edfc6

私のファイルは魔法のように再表示され、元に戻す前に別の場所に手動で安全に保管することができましgh-pagesた.

于 2015-07-05T20:54:03.417 に答える
1

gitcheckout -f特に指示されない限り (場合によってはチェックアウトまたはによって)気にしないファイルを削除しませんclean。それらについて何も知らないのでgit、それらを復活させることもできません。git stash動き回ったり、ダメージを与える可能性のあることをする前に使用してください。どのファイルを に入れるかを慎重に検討し、自動生成されていないすべて.gitignoreのファイルをバージョン管理に追加します。

于 2013-03-16T18:39:34.243 に答える