【问题标题】:Prepending branch name to git commit将分支名称添加到 git commit
【发布时间】:2014-02-10 02:12:53
【问题描述】:

我一直在阅读并试图弄清楚如何让它发挥作用。我想将分支名称添加到提交消息中,这样我就可以使用git commit -m "message" 并获得一个名为branch message 的提交。我得到的最接近的是在.git/hooks/commit-msg 中使用以下代码,但我使用OSX 10.8.5 得到sed: 1: ".git/COMMIT_EDITMSG": invalid command code .

我读到它与 OSX sed 有不同的行为有关,但我找不到可行的解决方案。我可能只是对 OSX/Linux 了解不够。

ticket=$(git symbolic-ref HEAD | awk -F'/' '{print $3}')
if [ -n "$ticket" ]; then
    sed -i "1i $ticket " $1
fi

【问题讨论】:

    标签: macos git sed


    【解决方案1】:

    是的,OS/X 不同。我对此进行了测试,它工作正常,但可能还有一些额外的小调整供您处理。请注意,OS X 上的 -i 标志需要一个文件扩展名来保存备份文件,并且为了避免 sed 坚持使用 1i 添加的文本必须用 \ 后跟另一行进行转义,我使用了 1s 代替。

    ticket=$(git symbolic-ref HEAD | awk -F'/' '{print $3}')
    if [ -n "$ticket" ]; then
        sed -i '.bak' "1s/^/$ticket /" $1
    fi
    

    【讨论】:

      猜你喜欢
      • 2019-11-09
      • 2019-11-20
      • 1970-01-01
      • 2017-03-16
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 2021-06-27
      相关资源
      最近更新 更多