Git Checkout使用git bash无限期挂起。怎么解决?

时间:2017-02-13 15:07:44

标签: git bash git-checkout

我一直在我的工作计算机上使用git bash处理开发分支中的项目。我刚试图检查到主分支,因为我打算合并更改,但是当我尝试这样做时,命令行无限期挂起,直到我用CTRL + C杀死它。

如果我再次尝试结帐,则会收到以下错误:

  

另一个git进程似乎正在此存储库中运行,例如       由'git commit'打开的编辑器。请确保所有流程       终止然后再试一次。如果它仍然失败,那就是一个git进程       可能早先在此存储库中崩溃:       手动删除文件以继续。

然而,删除index.lock文件后,再次尝试使用git checkout只是挂在终端中,并且在我再次终止进程之前永远不会取得任何进展!等!

有没有人遇到过这个,如果有的话,你是怎么解决这个问题的?

4 个答案:

答案 0 :(得分:3)

我最近一直遇到同样的问题,它似乎与我的树中Sublime Text的积极索引锁定文件有关 - 如果你正在使用ST然后尝试删除锁定文件,关闭ST然后运行{{ 1}}再次。

答案 1 :(得分:1)

与上述答案相关。我在Windows上遇到了Eclipse和Git Shell的这个问题。

您可能已按照以下步骤进入这种情况:

  1. 创建分支。
  2. 修改Eclipse中的文件(或我期望的Sublime)并将其保持打开状态。
  3. 添加文件并提交,然后将分支推送到原点。
  4. Git状态没有提交任何内容。
  5. 尝试签出原始分支 - 它会挂起。
  6. 要解决此问题:

    1. 所以Ctrl-C并删除锁定文件。
    2. 请注意,git状态现在显示为modified: filename

    3. 切换到Eclipse,它说磁盘上的文件已更改 - 可以选择重新加载。

    4. 在Eclipse中关闭该文件。
    5. 使用git checkout -- filename
    6. 撤消更改

      现在应该可以签出分支。

答案 2 :(得分:0)

我在文件上打开了Textpad,我认为它的锁定导致了这一点(与提到Sublime Text的积极索引锁定文件的spiralx相同)。即使我关闭了Textpad,我仍然无法切换分支。我重新启动了我的虚拟机,然后一切都很好-不再挂了。 :-)

答案 3 :(得分:0)

在使用Total Commander创建并浏览新文件夹时,我遇到了同样的问题。

我的解决方法是:

  1. Ctrl-C并删除锁定文件
  2. 关闭总指挥官
  3. git status-检查以前尝试结帐分支的尝试是否有所更改。
  4. 使用git checkout -- .撤消更改,这将重置所有未提交的更改!

现在我可以结帐了。