如何从Version Control的日志中仅复制Android Studio的提交消息

时间:2017-03-31 10:57:41

标签: android git android-studio intellij-idea version-control

enter image description here

当我阻止并复制这些日志时,它也会复制哈希,提交者和时间。 例如:

7e15726 hendrawd on 11/13/16 at 10:18 PM Merge remote-tracking branch 'origin/master'
a464db8 hendrawd on 11/13/16 at 10:16 PM fix ignored files
094ef35 Hendra Wijaya Djiono on 11/10/16 at 4:59 PM Swipe refresh will refresh notification count too
4759306 Hendra Wijaya Djiono on 11/10/16 at 12:51 PM Restructure
33ad61b Hendra Wijaya Djiono on 11/10/16 at 12:46 PM Fix force closed when crop picture on create group
8763667 Hendra Wijaya Djiono on 11/9/16 at 7:02 PM Fix duplicate notification

我不记得它何时实现,也许在Android Studio 2.2中。它曾经只是复制提交消息。

那我怎么才能得到提交消息?因为我只是需要它而不是完整的细节,一个接一个地编辑行来获取提交消息是非常不方便的。

我的Android Studio版本是:

Android Studio 2.3
Build #AI-162.3764568, built on February 24, 2017
JRE: 1.8.0_112-release-b06 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

3 个答案:

答案 0 :(得分:0)

我不知道你使用的是什么版本的想法。根据我对最新IDEA和WebStorm的测试。我在版本控制的log选项卡中选择并复制并粘贴到Atom中,我将收到提交消息+名称+时间。

如:

test message Xin Meng 31/03/17 11:10 
Merge branch 'feature' into develop Xin Meng 31/03/17 10:19 
kotlinc Xin Meng 31/03/17 10:19 

如果输出在上面,您可以使用Atom(或其他编辑器支持Regex)来过滤其他部分。

如Atom:

Ctrl + F并单击“查找”面板中的.*以启用Regex。然后将Xin Meng.*放入Finding输入中并替换为空白。然后单击“全部替换”。

然后将保留所有提交消息,其他内容将替换为空白。

答案 1 :(得分:0)

Android Studio不支持直接导出邮件(没有此类按钮或设置)。但你可以在android studio上的终端窗口中使用git命令。

答案 2 :(得分:0)

由于没有设置/按钮/复选框来执行我想要的操作,在没有任何外部软件/终端的帮助下我可以做的最简单的方法就是使用正则表达式来检测AM / PM(以及它之后的空格)并直接用空字符串替换它之前的所有字符(包括)。

以下是步骤:

  1. 复制日志
  2. 创建临时文件(Command + Shift + N for Mac)
  3. 将日志粘贴到临时文件
  4. 打开临时文件的替换菜单(Mac + Command + R)
  5. 检查正则表达式复选框
  6. 在搜索框.+?(?=(A|P)M\040)((A|P)M\040)
  7. 上使用此正则表达式
  8. 点击按钮全部替换
  9. example

    需要注意的是,上述方法不可靠。如果我们有包含字符串“AM”或“PM”的提交消息,则前一个字符串也将自动删除。如果IntelliJ决定再次更改日志的副本格式,则正则表达式也将无用。所以最好的方法是直接使用git命令和终端/命令提示符

    以下是示例:

    git log --since="2017-04-09" --pretty=format:"%s"