如何忽略添加到git的新文件?

时间:2011-08-04 00:43:22

标签: 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..

3 个答案:

答案 0 :(得分:4)

git reset <directory>将以递归方式取消暂存该目录中的所有文件。或者,只需git reset即可取消所有内容,git add <files>只需添加您想要的内容。

答案 1 :(得分:1)

git rm --cached *

此命令将删除索引中的所有文件,但将它们留在工作树中(即文件夹保持不变)。那么您可以使用git add

添加所需的文件

答案 2 :(得分:0)

您可以使用

git reset --soft HEAD^

您之前的提交将退回。之前提交的那些文件将进入您的暂存目录。然后,您可以选择暂存文件中的哪个文件将其取消暂存到工作目录。

git reset <path to file>

上述命令可以使您在该提交中不需要的文件回退到工作目录。

对于那些您想要再次提交的文件,它们仍然在暂存目录中。

然后你可以再次提交。