使用 magit 快速 commit 和 push

发布于 2023-04-28 13:33:11 字数 1385 浏览 71 评论 0

magit 在 emacs 生态里是一大神器,当我们编辑当前项目文件,并且想对当前文件提交 commit 并 push,如何做?很简单使用下面的 aborn/simple-git-commit-push 命令就能达到效果!

(defun aborn/simple-git-commit-push (msg)
  "Simple commit current git project and push to its upstream."
  (interactive "sCommit Message: ")
  (when (= 0 (length msg))
    (setq msg (format-time-string "commit by magit in emacs@%Y-%m-%d %H:%M:%S"
                                  (current-time))))
  (message "commit message is %s" msg)
  (when (and buffer-file-name
             (buffer-modified-p))
    (save-buffer))                   ;; save it first if modified.
  (magit-stage-modified)
  (magit-commit (list "-m" msg))
  (magit-push-current-to-upstream nil))

将上面的 elisp 代码放到你的 init.el 文件里,当想 commit 时,执行:

M-x aborn/simple-git-commit-push

然后跳出一个交互输入:

当输入完 commit 信息后,回车!然后就会做异步的 commit 和 push(不会卡住当前 emacs 操作)。相当于执行了命令行下的以下两个命令:

git commit -am "your message"
git push

注意:

  1. 你可以不填写 commit 信息,这时会自动生成一个 commit 信息!
  2. 异步执行的日志信息在 magit-process: xxx 的一个 buffer 里。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
26 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文