2

「git checkout」を実行すると、コミット後に作成されたすべての追加ファイルも削除したいと考えています。

しかし、私は道を見つけることができませんでした。ここに私がテストしたものがあります、

ディレクトリを作成し、コミット後にtestファイルを作成しました。test/test.txt

次に and を実行git add .git checkoutましたが、新しいファイルとディレクトリは削除されませんでした。

git checkoutコマンドをロールバックとして入力したにもかかわらず、新しいファイルがまだ存在しているのはなぜですか?

どうすればステージに完全に戻ることができますか?

お時間をいただき、私の質問を読んでいただきありがとうございます。

4

3 に答える 3

5

このスレッドをチェックしてください:Git管理対象プロジェクトのすべてのローカル変更を以前の状態に戻すにはどうすればよいですか?

Thr4wnが指摘しているようにgit reset --hard、特定の問題を解決します。ただし、上記のリンク先のスレッドに記載されているように、追跡されていないファイルは削除されません。以前にgit addを実行したためにのみ、2番目のファイルが削除されます。

git clean -fdコミット後に追加したものをすべて削除するソリューションのようです(これは、これらのファイルがすべて失われることを意味します)。

于 2012-05-01T02:56:28.273 に答える
1

私があなたの質問を最初に理解することを確認するために注意してください、しかし私はそれを信じます

git reset --hard

あなたが探しているコマンドです。

このコマンドが行うことは、最後のコミット以降に行ったすべての変更を元に戻せないように消去することです。

于 2012-05-01T02:50:32.797 に答える
0

GIT のユニークで便利な側面の 1 つは、リポジトリと作業ディレクトリがあり、それらが同一である必要がないことです。開発者は、一度に複数のことを行うことがよくあります。コミットする準備ができているいくつかのファイル。準備がほぼ整ったいくつかのファイル、テスト用のいくつかのファイル、いくつかのメモ/アイデアを含むいくつかのファイルなど。GIT を使用すると、何をいつ保存するかを決定できます。必要なものを追加してコミットします。他のものに取り組み、追加してコミットします。等々。内容をコミットする過程で、必要のないものになってしまった場合は、簡単な解決策があります。

git status
rm <trash>

「git status」を使用すると、追加しないことを決定して作成したものを非常に明確に確認できます。そして、「rm Trash」は、確認されたゴミを取り除きます。

2 つのステップは 1 つよりも優れています。

于 2012-05-01T14:01:32.277 に答える