没有响应的git状态,差异,添加(挂起)

yun*_*que 14 git bitbucket ubuntu-16.04

以下git命令在我的一个存储库中挂起(不响应):

git status
git diff
git stash
git add
Run Code Online (Sandbox Code Playgroud)

我不能git add让我相信无反应的事实并非仅仅是由于非常大的文件.既然git stash也挂了,我认为这不仅仅是与原点沟通的问题.

git remote show origin显示预期的远程URL.我正在分支机构并检查它是否已重命名.(FWIW,原产地位于bitbucket.)

所有上述命令都按预期在不同的仓库中响应,因此不是因为互联网连接.

还有其他任何疑难解答提示吗?

Ant*_*oni 12

无论它的价值如何,请尝试git fsck(根据其中一条评论) then git gc。当运行git statusand 时git commit,它们在处理了一些文件后挂在我身上;并运行这些命令解决了这个问题。我不知道哪个命令实际上解决了问题。

  • `git gc` 对我的帮助很大。我认为 `fsck` 没有做任何事情,因为没有任何损坏的文件。gc 似乎做了很多清理工作:https://www.atlassian.com/git/tutorials/git-gc (2认同)

Von*_*onC 6

\n

大约15分钟后才响应,现在立即响应,没有任何延迟。

\n
\n\n

使用 Git 2.20(2018 年第 4 季度),您至少能够检查正在git status执行某些操作(而不是仅仅停留在那里):它学会在刷新索引需要很长时间时显示进度条。

\n\n

请参阅Nguy\xe1\xbb\x85n Th\xc3\xa1i Ng\xe1\xbb\x8dc Duy提交 ae9af12(2018 年 9 月 15 日) ( )。\n (由Junio C Hamano 合并 -- --提交 4d87b38中,2018 年 10 月 19 日)pclouds
gitster

\n\n
\n

status:如果刷新索引花费太长时间,则显示进度条

\n\n

刷新索引通常很快,但有时仍然需要很长时间。

\n\n
    \n
  • 冷缓存就是其中之一。
  • \n
  • 或者将存储库复制到新位置 (*)。
  • \n
\n\n

展示一些东西让用户知道是件好事”git status ”没有挂起,它只是忙着做某事。

\n\n

(*) 在这种情况下,索引中的所有统计信息都将变得无效,并且 git 会重新哈希所有文件内容,以查看更新索引中的统计信息之间是否存在任何差异。这是相当昂贵的。即使使用像 git.git 这样小的存储库,也需要 3\n 秒。

\n
\n