【问题标题】:Git push for specific repo hangs特定回购的 Git 推送挂起
【发布时间】:2021-11-08 08:57:44
【问题描述】:

我有一个 Git 存储库,其中有几个拒绝推送到 Github 的分支。之前运行良好,可以推送其他项目。

基本上,在 VSCODE 中输入 push 后,光标只会向下移动到下一行并挂在那里。什么也没有发生,也没有任何错误输出。

我之前尝试过各种建议,包括git config --global core.askpass "git-gui--askpass",它包含在this SO question 上最受好评的答案中,但也没有任何输出。

我认为它在 VSCODE 中可能有些时髦,所以我在常规终端窗口中尝试了。这也不起作用,但返回了这个警告。

DEPRECATION WARNING: The system version of Tk is deprecated and may be removed in a future release.

这似乎与 Python 相关,但我不知道如何处理它。

如果有人能指出正确的方向来解决这个问题,我将不胜感激。

【问题讨论】:

  • Git-gui 是一个 tcl/tk 应用程序(即,用 tcl 编程语言编写,使用 Tk 绑定)。如果您的系统 Tk 已弃用(显然已弃用),则在启动 git-gui 时可能会导致此消息。请注意,虽然 git-gui Git 一起分发,但它通常没有得到很好的维护;核心 Git 团队没有及时更新。这归结为:你最好使用直接的命令行 Git,而不是 Git-GUI。
  • 您系统的实际下一步可能取决于操作系统和 Git 版本,因此除了了解上述关于 git-gui 的内容外,编辑您的问题以提及操作系统和 Git 版本可能是个好主意.
  • @torek 感谢您的回复。为了消除任何可能的混淆,我使用命令行进行 Git 推送。也就是说,不是 GUI。
  • 好的,但是,git-gui--askpass 是 git-gui 套件的一部分。您可能需要 https 的凭证助手。
  • 您是否通过 https 访问所有 github 存储库(您的问题似乎暗示您有多个)?可以切换到 ssh 访问,使用 ssh 密钥进行身份验证吗?

标签: git github repository push


【解决方案1】:

因此,根据上面给出的指导,我设法通过以下步骤在 mac 上解决了这个问题。

  1. git --version检查当前的Git版本,对我来说是git version 2.24.3 (Apple Git-128)
  2. 按照最受好评的答案的说明进行升级 this SO question。注意:如果在运行brew install git 之后 git --versionstill 显示苹果默认安装的 Git,你必须..
  3. 运行export PATH=/usr/local/bin:$PATH 以确保系统使用 刚刚使用brew 安装的最新版 Git。
  4. 再次检查git --version。它现在应该显示一个更高的版本,并且 NOT 在上面的输出中有 Apple。例如,我的更新为git version 2.33.0
  5. 然后我尝试再次推送但收到remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 正如消息所述,Github 最近已从密码验证切换到基于令牌,因此您需要在您的 GH 帐户中生成一个令牌。关注Github Doc 非常简单。如果您已经拥有个人身份验证令牌......那么......
  6. 复制个人访问令牌并在提示输入 GH 时 git push 后面的密码,粘贴你的令牌,你应该 做个好人。

希望这些步骤可以帮助其他面临同样问题的人。感谢上面的贡献,它们极大地帮助了找到这个解决方案。

【讨论】:

    【解决方案2】:

    为了测试,请再试一次:

    • 最新的 Git (2.33.0.2)
    • 默认 shell(如果您使用的是 Windows,则为新的 CMD 会话)
    • 正确的凭证助手(同样,在 Windows 上,git config --global credential.helper 应该返回 manager-core

    【讨论】:

    • 感谢您的建议。我现在正在升级 Git。但是,我在 mac 上,是否有“credential.helper”步骤的等效命令?谢谢!
    • @mikeym 在 Mac 上:git config --global credential.helper 应该返回 osxkeychain。但我建议安装 GCM (github.com/microsoft/…)
    • 再次感谢@VonC。我终于解决了。涉及很多步骤,所以我决定只发布一个答案。也就是说,您的意见确实有助于推动事情的发展!
    猜你喜欢
    • 2013-05-30
    • 1970-01-01
    • 2013-07-22
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2013-10-09
    相关资源
    最近更新 更多