清理Git中未暂存的已删除文件的简单方法
我经常使用IDE或通过命令行(而不是通过git mv)移动git存储库中的文件 因此,在我下一次提交时,我将删除几个未老化的文件,如下所示:清理Git中未暂存的已删除文件的简单方法,git,Git,我经常使用IDE或通过命令行(而不是通过git mv)移动git存储库中的文件 因此,在我下一次提交时,我将删除几个未老化的文件,如下所示: # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: test.html # # Changes not staged for commit: # (use "git ad
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: test.html
#
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: css/bootstrap.css
# deleted: css/bootstrap.min.css
# deleted: img/glyphicons-halflings-white.png
# deleted: img/glyphicons-halflings.png
# deleted: js/bootstrap.js
# deleted: js/bootstrap.min.js
然后我把它扔回控制台
有没有一种不必复制/粘贴的方法可以做到这一点?如果我正确理解了您的问题,您希望提交您的删除操作…也就是说,您希望对显示为已删除的所有文件执行等效的
git rm
git clean
不会执行此操作
您可以运行git add-u:
仅与索引中已跟踪的文件匹配
而不是工作树。这意味着它永远不会上演新的一幕
文件,但它将暂存已修改的跟踪文件的新内容
如果相应的
已删除工作树中的文件
这将拾取对跟踪文件的所有更改,包括删除。所以如果你从这个开始:
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: file2
# deleted: file3
# deleted: file4
# deleted: file5
此时提交将做正确的事情。
git add-u
将更新跟踪文件的状态。我通常会提交我所做更改的文件
如果我删除了冗余文件,我会在这之后执行以下操作:
git commit -a -m 'deleted redundant files'
“git add-A”是否也适用于此?您好,您说“此时提交将做正确的事情”。但在我的例子中,它显示错误:提交失败,错误为0个文件提交,4个文件提交失败:提交删除的文件无法索引文件web/bundles/app更新文件failedHi@ZainElabidine。您可能想提出一个新问题,因为为了弄清楚发生了什么,我需要查看您正在运行的确切命令以及不同点上的
git status
输出(注释确实不是一个好地方)。
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: file2
# deleted: file3
# deleted: file4
# deleted: file5
git commit -a -m 'deleted redundant files'