git状态无响应,diff,add(挂起)

b4qexyjb  于 2023-09-29  发布在  Git
关注(0)|答案(8)|浏览(143)

以下git命令在我的一个仓库中挂起(没有响应):

git status
git diff
git stash
git add

我不能git add的事实使我相信,无响应性不仅仅是由于非常大的文件。由于git stash也挂起,我认为这不仅仅是与origin通信的问题。
git remote show origin显示预期的远程URL。我正在处理一个分支,并已检查它没有被重命名。(FWIW,源托管在bitbucket上。
所有上述命令在不同的存储库中按预期响应,因此这不是由于互联网连接。
有其他解决此问题的提示吗?

pgccezyw

pgccezyw1#

不管它值多少钱,试试git fsck(根据其中一条评论),然后git gc。当运行git statusgit commit时,它们在处理了一些文件后为我挂起;运行这些命令就解决了这个问题。我不知道哪个命令实际上解决了这个问题。

mbyulnm0

mbyulnm02#

它在15分钟左右后做出了响应,现在立即做出响应,没有延迟。
使用Git 2.20(2018年第4季度),您至少可以检查git status正在做 * 某事 *(而不是只是挂在那里):它学会了在刷新索引需要很长时间时显示进度条
参见commit ae9af12(2018年9月15日),作者Nguyễn Thái Ngọc Duy ( pclouds )
(由Junio C Hamano -- gitster --合并于commit 4d87b38,2018年10月19日)

status:显示进度条如果刷新索引需要太长时间

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

  • Cold cache是一个。
  • 或将存储库复制到新位置(*)。

显示一些东西让用户知道“git status”没有挂起,它只是在忙碌做一些事情。
(*)在这种情况下,索引中的所有stat信息都将无效,git福尔斯退到重新散列所有文件内容,以查看更新索引中的stat信息是否有任何区别。这是相当昂贵的。即使是像git.git这样小的repo,也需要3秒。

6kkfgxo0

6kkfgxo03#

执行git fsck。在我的情况下,它已经解决了问题。

doinxwow

doinxwow4#

对于任何新手来说,我的挂在git add上-我忘记了我一直在做pg_dumps,并在目录中留下了一些大文件。我把它们移到了另一个目录,这就解决了问题。

wkyowqbh

wkyowqbh5#

Git可能正在构建未跟踪文件的索引。在将数千个新文件添加到新克隆的存储库中后,git status似乎挂起超过2分钟,然后响应:

It took 139.67 seconds to enumerate untracked files. 'status -uno'
may speed it up, but you have to be careful not to forget to add
new files yourself (see 'git help status').

如果您遇到类似的情况,请考虑将未跟踪的文件移出存储库,并确认git status再次响应。

ndasle7k

ndasle7k6#

在我的情况下,什么帮助是重新启动我的电脑。

oxosxuxt

oxosxuxt7#

我发现我的是因为我从.gitignore文件中删除了/node_module。它在之前的添加中就存在了,所以一旦我重新添加了/node_module,git就开始正常工作了。

6jjcrrmo

6jjcrrmo8#

我发现我的是:

[status]
    submodulesummary = 1

在注解掉~/.gitconfig文件中的submodulesummary = 1配置后,git status运行得更快。

相关问题