我不小心添加了许多文件(测试文件),我不希望它们成为提交的一部分。
我想将分支重置回头部,但我已经修改了几个文件,我希望它们成为下一次提交的一部分。
我要提交的文件和我不想提交的文件位于不同的文件夹中。
无论如何,我可以丢弃新添加的文件,并使用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..
答案 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>
上述命令可以使您在该提交中不需要的文件回退到工作目录。
对于那些您想要再次提交的文件,它们仍然在暂存目录中。
然后你可以再次提交。