如何轻松地用magit挑樱桃?


40

我已经使用magit几个月了,我非常喜欢。但是我仍然在码头上做的一件事就是采摘樱桃。

有什么简单的方法可以做到这一点?

Answers:


31

不论你看到一个Magit缓冲提交,你可以樱桃采摘通过移动点那里,然后键入它A A。您也可以一次选择多个提交:仅使用该区域选择一些提交,然后按A A


45

Magit版本<= 1.4.2

这很容易:

  1. 输入概述 magit-status
  2. b b签出(按)您要加入的分支。
  3. 执行一个日志范围(按l r l)以查找您想要挑选的提交。在这里,选择要比较的2个分支。
  4. 滚动到要选择的提交,然后按一下A以应用更改,并将它们与提交消息一起上演。如果按a,则不会暂存更改,而只会应用更改。

您不需要做日志范围就可以挑选。每当您看到提交日志时,都可以按一下A以选择它。

Magit版本> = 2.1.0

在将magit升级到2.1之后,工作流程有所不同。对于这两种方法,您首先都需要启动magit-status

方法ACherry Pick从另一个分支一个接一个地更改

  1. l,然后o获取其他分支的列表。
  2. 选择要从中挑选樱桃的分支。
  3. 移动到提交你需要按A接着A一次。
  4. 状态行将显示您选择的提交

    例如 feature/ABC~4

    按下Enter以应用更改。

方法B樱桃从另一个分支中选择所有更改

  1. A选择樱桃采摘模式。
  2. 再按A一次以应用并提交更改。按此a按钮仅应用更改。
  3. 选择一个分支从中选择更改,然后按Enter

我个人更喜欢方法A,因为您可以更好地处理合并冲突。


8

我不使用樱桃采摘,而是?参加magit-status演出y: Cherry。这将运行命令magit-cherry,使您可以选择一个头和一个上游。听起来这就是您想要的。

您可以键入C-h r d m Magit RET以阅读Magit手册。您可以使用C-s cherry和重复点击C-s搜索手册。信息似乎在第23节中:

git令人欣慰的是,它可以告诉您哪些提交已在上游合并,但没有在本地合并,反之亦然。Git的子命令是cherry(不要与混淆cherry-pick)。Magit通过调用来对此提供支持,默认情况下magit-cherry绑定y

然后,Magit会先询问您要用于比较的上游修订版(默认为当前跟踪的远程分支,如果有的话)和主要修订版(默认为当前分支)。然后,您将看到一个新缓冲区,其中列出了所有提交,并带有方向标记,它们的修订版本和提交消息的第一行。方向标记要么+指示在上游但不在头部的提交,要么指示-在头部但不在上游的提交。

在此列表中,您可以使用通常的键绑定来挑选单个提交(a挑选没有提交的樱桃A ,以及相同的提交和自动提交)。每次摘樱桃后,缓冲区都会自动刷新。


1
调用Magit手册时,您可以通过C-h i代替来保存按键C-h r d。这将带您直接进入顶级信息。
itsjeyd 2015年

1
@itsjeyd Nahh,C-h i将带您到您打开的最后一个信息文件,因此,如果单击C-h i m,则可能会查看SICP中的章节菜单,而不是所有菜单。击中dC-h iC-h r将确保您会在信息目录,当你打之前m
保姆2015年

那是一个很好的把戏,我不知道!另外,完全没有主题:SICP的Info版本?!在哪里可以获得副本?:)
itsjeyd 2015年

@itsjeyd我将其保存在我的Dropbox中,我想是从这里获得的:github.com/webframp/sicp-info
nanny

1
谢谢!我检查了MELPA,结果发现有一个从该存储库构建的软件包。因此,安装SICP的Info版本非常简单M-x package-install RET sicp RET:)
itsjeyd 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.