如何在emacs magit分支上看到未合并的提交

时间:2014-07-03 04:58:43

标签: git emacs magit

因此,当我创建并切换到新的非MASTER分支时,我再也看不到未提交的提交列表。我想这是有道理的,因为我在一个分支上,MASTER现在是我的上游(而不是github)?

尽管如此,我希望能够看到我今天提交的所有提交内容。

如何查看我在本地分支上提交的所有尚未与MASTER合并的提交?

好的,鉴于此,我如何配置magit,以便每当我在分支上并输入M-x magit-status时,我会看到我在此分支上创建的未合并提交列表?看起来类似于我在MASTER上时的情况,我输入M-x magit-status,我得到所有未提交的提交列表?

基本上空的魔法状态缓冲区让我在分支时感到紧张。 :)

2 个答案:

答案 0 :(得分:2)

如果您的分支正在跟踪远程分支,您将自动拥有该分支。

如果没有,并且您对master感兴趣,可以使用以下代码。此代码将为您的magit-status添加一个新部分" Unmerged commit"每当你提交不在主人的时候。

(eval-after-load 'magit
  '(progn
     (defun magit-insert-unmerged-commits ()
       (magit-git-insert-section (unmerged "Unmerged commits:")
                                 (apply-partially 'magit-wash-log 'unique)
                                 "log" "--format=format:%h %s" "master..HEAD"))

     (magit-define-section-jumper unmerged  "Unmerged commits")

     (add-hook 'magit-status-sections-hook 'magit-insert-unmerged-commits t)))

您需要magit 2.0或更高版本。

如果你不感兴趣提交没有合并到master,而是你分支你的分支的本地分支,你需要进一步定制上面的代码(我硬编码" master")。

答案 1 :(得分:0)

如果您只想查看未提交的提交,请添加

(setq magit-set-upstream-on-push t)

到您的初始化文件,magit会在推送时询问您是否要set upstream - 只需输入"是"当你第一次推动时,你不会再被问到。然后,您将看到未提交的提交。

magit-set-upstream-on-push的文档:

  

是否`magit-push'可以在推动分支时设置上游。   这仅适用于分支尚未具有上游集的情况。

     

nil不要使用--set-upstream。

     

t询问是否应该使用--set-upstream。

     

`dontask'总是使用--set-upstream。

     

`拒绝'除非已经设置了远程分支,否则拒绝推送。

相关问题