【问题标题】:How to git push using git-emacs?如何使用 git-emacs 进行 git 推送?
【发布时间】:2012-11-24 01:05:40
【问题描述】:

我正在使用 git-emacs 通过 Emacs 向 github 提交代码。 addcommit 都可以,但似乎 git-emacs 不支持 git push 操作。当我输入M-x git-push 时,它会回复“没有这样的命令”。

【问题讨论】:

  • 你可以在eshell中运行git push

标签: git emacs lisp


【解决方案1】:

较新版本的 Emacs 提供以下命令:

C-x v P

更长的版本:

M-x vc-push

(如 @CAT0 所述)。如果您的 Emacs 版本不支持该命令,请尝试:

M-& git push [Enter]

更长的版本:

M-x async-shell-command [Enter] git push [Enter]

正如@mariotomo 所指出的,这比下面的同步版本更好,因为它为输出打开了一个缓冲区。

M-! git push [Enter]

更长的版本:

M-x shell-command [Enter] git push [Enter]

M- 是“元密钥”的缩写,可以是 EscAltCtrl+[)。

(如果你在 Windows 上并且犹豫使用默认进入讨厌的 DOS shell 的 shell,尝试从 Cygwin 以 emacs-w32 运行 Emacs,事情会更明智)。

【讨论】:

  • 更好的是,使用M-&,这样emacs就不会被卡住等待git完成,并且命令输出会出现一个缓冲区。
【解决方案2】:

在 emacs 25(也许更早)中有命令

vc-push

这正是它应该做的。它势必 C-x v P

【讨论】:

    【解决方案3】:

    通过git-emacs,可以通过以下方式推送:

    1. M-x git-cmd,绑定到C-x g .(在git-status窗口中绑定到.
    2. 输入push

    【讨论】:

      【解决方案4】:

      这是一个不幸的副作用,内置的 Emacs VCS 支持 (vc-mode) 主要是为 cvs、subversion 等具有完全不同工作流程的工具构建的。很快就添加了 DVCS 支持(在 Emacs 23 中)。我希望vc-mode 在不久的将来会得到改进。到那时……

      正如@khagler 所说,Magit 支持git push。另一个值得您探索的可靠选择是Egg

      【讨论】:

        【解决方案5】:

        你是对的,它没有。不过magit可以推送。

        【讨论】:

        • 所以我转向 magit ,但我仍然无法推送,可以暂存和提交,但是当我输入 PP 执行 git push 时,它只是说:“git push -v . .....“在控制台中,它并没有真正将任何东西推送到存储库中,你能帮忙解决这个问题吗?
        • github 有问题:github.com/magit/magit/pull/433$ 检查 Magit 是否在登录时挂起。更新到最新的 Magit,如果这没有帮助 - 很好的推送只是 shell 中的几次击键......
        猜你喜欢
        • 2011-08-18
        • 2017-09-19
        • 1970-01-01
        • 1970-01-01
        • 2017-01-16
        • 1970-01-01
        • 2020-09-23
        • 2019-05-16
        • 1970-01-01
        相关资源
        最近更新 更多