2011-08-04 18 views
1

私はそれらがコミットの一部であることを望まない多くのファイル(テストファイル)を誤って追加しました。gitに追加された新しいファイルを無視するにはどうすればよいですか?

ブランチを頭に戻したいのですが、私はすでに変更したファイルがほとんどなく、次のコミットの一部にしたいと思っています。

コミットしたいファイルとコミットしたくないファイルは別のフォルダにあります。

新しく追加されたファイルを破棄して、変更されたファイルをgitコマンドで保存することはできますか?

以下は私が取得したステータスです。

# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# new file: Makefile 
# //and 100 of other files in current directory 
# 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: ../program.C 
# modified: ../program.h 
# //and few more files.. 

答えて

4

git reset <directory>は、そのディレクトリ内のファイルを再帰的にunstageします。または、git resetですべてを消去し、git add <files>で任意のものを追加するだけです。あなたがあなたの前のコミット

git reset --soft HEAD^ 

を使用することができます

1
git rm --cached * 

このコマンドは、あなたのインデックスからすべてのファイルを削除しますが、あなたの作業ツリーでそれらを残します(つまり、あなたのフォルダは変更されません)。したがって、あなたはあなたが望むファイルを単に追加することができますgit add

+0

これらがすべて同じフォルダにある場合は、そのファイルをコマンドに入れることができます – Andy

+1

これはファイルをステージングするだけではありません。現在追跡中のファイルの削除が段階的に行われます。 –

+0

@Ryan Stewart - 現在のディレクトリが新しく追加されたファイルを含むディレクトリであれば動作します。 OPが尋ねているようだ。 – manojlds

0

はフォールバックします。以前にコミットしたファイルはステージングディレクトリに移動します。その後、ステージングファイル内のどのファイルを作業ディレクトリに移動するかを選択できます。

git reset <path to file> 

上記のコマンドは、コミットしたくないファイルを作業ディレクトリに戻すことができます。

コミットするファイルは、ステージングディレクトリに残ります。

あなたはもう一度コミットすることができます。

関連する問題