ruby 根据分支名称创建一个提交消息,其中包含Pivotal故事的链接,并将其全部放在剪贴板上。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 根据分支名称创建一个提交消息,其中包含Pivotal故事的链接,并将其全部放在剪贴板上。相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env ruby
require 'pry-nav'

def pbcopy(input)
  str = input.to_s
  IO.popen('pbcopy', 'w') { |f| f << str }
  str
end

branch_name = `git rev-parse --abbrev-ref HEAD`.chomp

DIVIDERS = %r{[-|_|/|\/]}

parts = branch_name.match(/(?<initials>.+)#{DIVIDERS}(?<number>\d{5,})#{DIVIDERS}(?<description>.*)/)

if parts.nil?
  # Initials missing?
  parts = branch_name.match(/(?<number>\d{5,})#{DIVIDERS}(?<description>.*)/)
  INITIALS = 'CB'
end

begin
  INITIALS       ||= parts[:initials].split(DIVIDERS).join("/").upcase
  PIVOTAL_NUMBER = parts[:number]
  DESCRIPTION    = parts[:description].gsub(/#{DIVIDERS}/, ' ')
rescue
  exit(0)
end

commit_message = <<MSG
[#{INITIALS}][#{PIVOTAL_NUMBER}] #{DESCRIPTION}

Pivotal Story: https://www.pivotaltracker.com/story/show/#{PIVOTAL_NUMBER}
MSG

STDOUT << commit_message
pbcopy(commit_message)
puts(">>> Commit message is on the clipboard!")

以上是关于ruby 根据分支名称创建一个提交消息,其中包含Pivotal故事的链接,并将其全部放在剪贴板上。的主要内容,如果未能解决你的问题,请参考以下文章

sh 准备提交消息git hook以预先添加具有分支名称的提交消息

javascript 添加分支名称标记以提交消息

按文件类型拆分 git 分支或提交

ruby 使用lolcommits生成一个gif。将gif上传到您的GitHub仓库。修改您的提交消息以包含gif的链接。

git log 包含另一个分支的提交,如何在分支之间分离提交

使用基于功能分支的 rebase 提交消息修改,然后合并到 master