以下git命令在我的一个仓库中挂起(没有响应):
git status
git diff
git stash
git add
我不能git add
的事实使我相信,无响应性不仅仅是由于非常大的文件。由于git stash
也挂起,我认为这不仅仅是与origin通信的问题。git remote show origin
显示预期的远程URL。我正在处理一个分支,并已检查它没有被重命名。(FWIW,源托管在bitbucket上。
所有上述命令在不同的存储库中按预期响应,因此这不是由于互联网连接。
有其他解决此问题的提示吗?
8条答案
按热度按时间pgccezyw1#
不管它值多少钱,试试
git fsck
(根据其中一条评论),然后git gc
。当运行git status
和git commit
时,它们在处理了一些文件后为我挂起;运行这些命令就解决了这个问题。我不知道哪个命令实际上解决了这个问题。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
:显示进度条如果刷新索引需要太长时间刷新索引通常非常快,但有时仍需要很长时间。
显示一些东西让用户知道“
git status
”没有挂起,它只是在忙碌做一些事情。(*)在这种情况下,索引中的所有stat信息都将无效,git福尔斯退到重新散列所有文件内容,以查看更新索引中的stat信息是否有任何区别。这是相当昂贵的。即使是像git.git这样小的repo,也需要3秒。
6kkfgxo03#
执行git fsck。在我的情况下,它已经解决了问题。
doinxwow4#
对于任何新手来说,我的挂在git add上-我忘记了我一直在做pg_dumps,并在目录中留下了一些大文件。我把它们移到了另一个目录,这就解决了问题。
wkyowqbh5#
Git可能正在构建未跟踪文件的索引。在将数千个新文件添加到新克隆的存储库中后,
git status
似乎挂起超过2分钟,然后响应:如果您遇到类似的情况,请考虑将未跟踪的文件移出存储库,并确认
git status
再次响应。ndasle7k6#
在我的情况下,什么帮助是重新启动我的电脑。
oxosxuxt7#
我发现我的是因为我从
.gitignore
文件中删除了/node_module。它在之前的添加中就存在了,所以一旦我重新添加了/node_module,git就开始正常工作了。6jjcrrmo8#
我发现我的是:
在注解掉
~/.gitconfig
文件中的submodulesummary = 1
配置后,git status
运行得更快。