Git:如何提交手动删除的文件? [复制]
Posted
技术标签:
【中文标题】Git:如何提交手动删除的文件? [复制]【英文标题】:Git: How to commit a manually deleted file? [duplicate] 【发布时间】:2012-10-10 20:58:54 【问题描述】:在我的 git 存储库中,我在将文件 (rm
) 移动到另一个文件夹后手动删除了它。我将所有更改提交到我的仓库,但现在当我做 git status .
ronnie@ronnie:/home/github/Vimfiles/Vim$ git status .
# On branch master
# 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: plugin/dwm.vim
#
no changes added to commit (use "git add" and/or "git commit -a")
现在,我应该如何提交,以便从远程仓库的插件文件夹中删除 dwm.vim
。我知道我必须使用git add && git commit
,但我没有要提交/添加的文件,因为/plugin/dwm.vim
已被删除。
【问题讨论】:
你可以使用 git add -u 【参考方案1】:我想答案是here。
不过,最好是git rm <fileName>
。
【讨论】:
是的,我知道我应该使用git rm
,但rm
是我的习惯,所以有时我只是忘记使用git rm
。
啊,当然,我也会不时发生:)
答案是git add -u
、git commit -a
,还是git add -A
? -1 表示混淆。
git rm
可以在rm
已经删除文件后使用。它只是更新本地存储库。【参考方案2】:
使用git add -A
,这将包括已删除的文件。
注意:对某些文件使用git rm
。
【讨论】:
如果有人只是想暂缓删除单个文件,我认为建议git add -A
不是一个好主意,因为这也会 (a) 暂缓对已跟踪文件的所有修改(b) 暂存未跟踪和未忽略的文件。您可能希望通过警告来更新您的答案。
另一方面,当您重构整个项目并移动/删除文件夹和文件时,您无法返回这样做,因为每个文件/文件夹都使用 git。 git add -A 应该是事件一命令。
@MarkLongair 现在你能告诉我们我们如何才能撤消这个错误:)【参考方案3】:
它在git status
的输出中说:
# (use "git add/rm <file>..." to update what will be committed)
就这样吧:
git rm <filename>
【讨论】:
这很令人困惑:'use "git add/rm' - 这是什么?在这种情况下,两者之间有什么区别? 为什么不试试看呢?我认为你会发现这两种情况下的行为都很明智。 (“添加已删除的文件”和“删除已删除的文件”)以上是关于Git:如何提交手动删除的文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章