【问题标题】:Git push doesn't exitGit推送不退出
【发布时间】:2018-01-21 15:56:31
【问题描述】:

我第一次在我的 PC 上玩弄 git。我在D:\MyProjectA\ 中有一个存储库,在D:\MyProjectB\ 中有一个存储库的裸克隆。然后我通过运行remote add origin D:\MyProjectB 将裸克隆设置为origin

现在我对 MyProjectA 进行了一些更改,并希望将它们推回原点。当我在 Powershell 中运行 git push origin master 时,我看到以下输出,但脚本没有退出。我必须 Ctrl-C 才能关闭。怎么回事?

PS D:\MyProjectA> git push origin master
Counting objects: 3, done.
Delta compression using up to 16 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 290 bytes | 290.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)

【问题讨论】:

    标签: git


    【解决方案1】:

    只是检查一下,相同的命令是否可以在没有寻呼机的情况下工作?

    git --no-pager push origin master
    

    如果是,请输入:

    git config --global core.pager more.com
    

    另外,with Git 2.16(最近发布),试试:

    $env:GIT_REDIRECT_STDERR = "2>&1"
    

    看看是否有帮助。

    最后,设置各种GIT_TRACE variables可以帮助调试命令。

    OP cbp 确认in the comments

    我刚刚使用GIT_TRACECMD(不是Powershell)中取得了成功。
    我观察到的是它在运行git pack-objects 时挂了很长时间。最终它完成并退出。
    随后,运行git push 似乎要快得多。

    【讨论】:

    • 您好,感谢您的帮助。不幸的是,行为与 --no-pager 相同。将尝试升级 Git 并查看重定向 STDERR 是否有帮助。
    • 我试过set GIT_REDIRECT_STDERR="2>&1"(升级到2.16后),但不幸的是行为是一样的。
    • 嗯,我没有看到任何跟踪消息......但我不确定跟踪是否正常工作,因为我看不到我运行的任何命令的任何跟踪。我尝试了set GIT_REDIRECT_STDERR="2>&1"set GIT_TRACE=1,但没有看到任何命令的输出有明显差异。
    • @cbp 可能是标准错误问题。我想从一个简单的 CMD 完成时,单独的推送效果很好?
    • 不,它在 CMD 中表现出与在 Powershell 中相同的行为 - 并且没有证据表明有任何东西进入 STDERR。
    猜你喜欢
    • 2017-01-14
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多