Git 升级到 Monterey 后,macOS 上的推拉克隆命令不执行任何操作

Git push pull clone commands on macOS don't do anything after upgrade to Monterey

我最近升级到 macOS Monterey,发现我无法执行任何影响在线存储库的 git 命令。到目前为止受影响的命令是

git push
git pull
git clone

所有命令只输出notinng。字面上地。我输入它们,甚至没有错误,即使在几分钟后,远程仓库也没有得到推送。

到目前为止我尝试了什么

我尝试 运行 这些命令来自 Github 和 Gitlab 的回购协议,以及私人和 public 回购协议。我的 ssh 密钥就位,远程 URL 似乎是正确的,我没有处于分离 HEAD 模式,我重新安装了 Xcode 和 Xcode 开发人员工具,我升级了 git 通过 Homebrew,我通过 Homebrew 重新安装了 git,我在系统设置中激活和停用了我的防火墙,现在我尝试关闭并再次打开我的 Mac(它仍然没有用) .

目前看来可行的方法

GIT_CURL_VERBOSE=1 GIT_TRACE=1 git push

这给了我一个完整的日志,推送成功。

13:56:35.495625 git.c:455               trace: built-in: git push
13:56:35.497727 run-command.c:668       trace: run_command: unset GIT_PREFIX; ssh git@gitlab.com 'git-receive-pack '\''airshopers/storefront.git'\'''
13:56:43.997487 run-command.c:668       trace: run_command: .git/hooks/pre-push origin git@gitlab.com:airshopers/storefront.git
Everything up-to-date

此外,似乎第二次 git push 我 运行 在计算机重新启动后工作。

更新 添加详细和跟踪标志也不能解决问题,因为“解决方法”随机停止工作,我再次看到前面提到的行为。

我的知识真的穷途末路了,欢迎任何提示:)

升级到 Monterey 似乎破坏了 macOS ssh。我通过从 Homebrew 安装 openssh 解决了这个问题:

brew install openssh

安装似乎还更新了默认使用的 ssh,因此 which ssh 现在指向 /usr/local/bin/ssh 而不是本机的。

还要确保打开一个新终端 window,或者重新获取您的终端。否则在您当前的会话中将使用本机 ssh。

这似乎已经解决了问题,如果我在这里没有遇到任何新问题,我会将此答案标记为已接受。