【问题标题】:How to unstage a deleted file in git如何在 git 中取消暂存已删除的文件
【发布时间】:2019-01-28 18:50:08
【问题描述】:

我意识到这个问题已经在其他线程中得到了回答。但是,我的问题(我相信)是独一无二的。

背景故事:我是一个 git bash 菜鸟。我最近才开始使用它,结果做了很多愚蠢的事情。我创建了一个测试文件AWACSfile.txt,并使用git add 暂存它。然后我做了git commit,这就是问题开始的地方。

它打开了一个新屏幕并提示我输入未添加到 commit 行的注释(或暂存时的其他一些要求)。那时,我不知道该怎么做,试图退出 bash shell。

它给了我一个警告,说进程仍然打开。我忽略了它,假设当我退出 shell 时它们会终止。 错误。之后,我无法合并分支,切换分支,无法删除文件,无法取消暂存文件,如果没有它给我附加错误,我将无法做任何事情:

我也尝试删除index.lock 文件,但遇到了同样的错误。我处于不知道该怎么做的地步 - 我什至尝试卸载,但它不会卸载,因为该进程仍然处于打开状态而没有强制终止。

【问题讨论】:

    标签: bash git github


    【解决方案1】:

    它给了我一个警告,说进程仍然打开。我忽略了它,假设当我退出 shell 时它们会终止。错了。

    Windows has mandatory file locking,意思是如果一个进程打开了一个文件,你就不能删除它。 index.lock 有什么东西挂着,关闭 shell 可能不会杀死它。

    没有看到你以前的 Git 历史,我不能说那个过程可能是什么。它可以是任意数量的使用index.lock 挂起的东西。 git commit 使用的编辑器进程可能是罪魁祸首。你可以find the process which is holding index.lock open 杀死它。

    或者您可以尝试将其关闭然后重新打开:即。重新启动计算机以确保停止所有挂起的进程。

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 2021-01-19
      • 2011-05-14
      • 2018-12-18
      • 2014-09-14
      • 2021-11-18
      • 2017-08-26
      • 1970-01-01
      • 2013-11-12
      相关资源
      最近更新 更多