我从服务器检出分支并添加更多文件,但我没有注意到没有.gitignore,我运行:
git add ./*
git commit "xx"
有.class文件(和其他文件)不是我想要的?现在我添加.gitignore
#
*.class
bin/
gen/
我如何取消该提交并删除所有.class,bin /和gen /?
答案 0 :(得分:1)
您可以使用
撤消提交git reset HEAD^
修复.gitignore
后,使用git add .
添加所有内容。
答案 1 :(得分:0)
最好不要养成git add .
的习惯。如果你正在提交,你可能想知道你所做的事情,而不仅仅是假设事情是你认为的那样。
如果您碰巧提交了不应该存在的内容,您可以在执行git commit --amend
之后使用git reset unwanted_file_addition.txt
修改您的提交。
如果您推送了包含机密信息的提交,您还需要做一些额外的工作。
如果发生这种情况,请参阅10月份发布的最新GitHub Article。它显示了如何处理这个问题。
它们也反映了我对更广泛的添加文件的方式的看法:“如果你是从命令行工作,请避免使用catch-all命令git add。和git commit -a,而是使用git add filename和git rm文件名来单独播放文件。“
一般用于您的环境的文件,例如编辑器交换文件,项目文件(例如.project
)和可能污染您的项目的操作系统文件应位于您的系统或帐户.gitignore
中文件位于/ etc /或其他系统范围的位置,更具体到您的个人工具,位于您的主文件夹中。