标签: commit-message

如何在commit-msg挂钩中提示用户?

我想警告用户,如果他们的提交消息不遵循某组指南,然后给他们选项来编辑他们的提交消息,忽略警告或取消提交.问题是我似乎无法访问stdin.

下面是我的commit-msg文件:

function verify_info {
    if [ -z "$(grep '$2:.*[a-zA-Z]' $1)" ]
    then
        echo >&2 $2 information should not be omitted
        local_editor=`git config --get core.editor`
        if [ -z "${local_editor}" ]
        then
            local_editor=${EDITOR}
        fi
        echo "Do you want to"
        select CHOICE in "edit the commit message" "ignore this warning" "cancel the commit"; do
            case ${CHOICE} in
                i*) echo "Warning ignored"
                    ;;
                e*) ${local_editor} $1
                    verify_info "$1" $2
                    ;;
                *)  echo "CHOICE = ${CHOICE}"
                    exit 1
                    ;;
            esac
        done
    fi
}

verify_info …
Run Code Online (Sandbox Code Playgroud)

git hook commit-message

69
推荐指数
3
解决办法
2万
查看次数

git pull - 无法提交合并消息

可能重复:
使用pull命令时github会锁定mac终端

我通过Mac上的终端使用git.我最近尝试执行时遇到了一个恼人的问题git pull.执行后git pull我收到以下错误消息:

Merge ssh://domain.com/repository.git
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts:
# the commit.
Run Code Online (Sandbox Code Playgroud)

问题是我不能输入任何东西.我的终端似乎卡住了,似乎没有任何我能做的事情.我对git来说相当新,所以这可能是我犯的一个简单错误.

在这里读到,对于某些人来说,文本编辑器此时打开了.在我看来,情况肯定不是这样.它还指出我可以使用--no-edit标志在没有消息的情况下进行合并,但即便如此,这似乎也不适用于我.

我此刻有点无能为力,卡住并无法将任何更改推送到我的服务器.

git commit-message git-pull git-merge

64
推荐指数
2
解决办法
5万
查看次数

在Vim中自动包装长Git提交消息

使用Git,我的提交编辑是Vim.我一直在做一个很难记住包裹线的工作,所以我得到了很长的路线(例如,参见这个答案).有没有办法使用一些git config.vimrc魔法,我可以让Vim自动包裹72列的行?

相关问题.

git vim commit-message word-wrap

60
推荐指数
4
解决办法
2万
查看次数

为什么以现在时态描述git提交被认为是好的做法?

我已经阅读了各种Git教程,包括官方教程,他们似乎都告诉我以现在时态编写Git提交注释是很好的约定和做法.

这是为什么?它背后的原因是什么?

git commit-message commit

34
推荐指数
2
解决办法
8657
查看次数

输入git的提交消息后该怎么办?

在我输入git commit -a文本编辑器后弹出,然后输入我的评论.键入注释后我必须按哪些按钮才能使其进入实际提交的下一阶段?

我在Windows上使用mysysGit并使用默认设置.

git commit-message commit

26
推荐指数
3
解决办法
3万
查看次数

如何创建SVN提交消息模板和挂钩进行验证

我正在使用Visual SVN Server和Tortoise SVN(客户端)进行源代码管理.我希望所有开发人员都能以一致的格式标注签入说明.

例如,我希望他们的提交消息默认为......

概要:

开发者名称:( 预先填充)

评论人:

[错误ID]:

[更改错误状态]:

已知的问题:

受影响的文件:( 预先填充)

在将来,我希望[Bug Id]和[Bug State]提供信息,以触发Bug跟踪系统的自动更新.还应使用svn用户和用户提交的文件预填充开发人员名称和受影响的文件.

请发送您可能拥有的任何链接或样本.

svn tortoisesvn commit-message visualsvn-server pre-commit-hook

25
推荐指数
1
解决办法
3万
查看次数

在进行手动合并后,我应该在提交消息中删除冲突列表吗?

假设我运行git pull并且存在git无法自动合并的冲突.

在我手动合并更改并运行之后git commit,是否应该保留Conflicts:git在提交中生成的部分(作为手动合并这些文件的记录),或者将其删除(因为冲突未提交)?

我不知道最佳做法是什么 - 是否有警告确保您修复冲突,或实际登录提交消息?

git commit-message

19
推荐指数
1
解决办法
2070
查看次数

git 提交消息中的反引号

我做到了

git commit -m "Changed function name `sum` to `sum_list`"
Run Code Online (Sandbox Code Playgroud)

我使用反引号的目的是,sumsum_list有人在 GitHub 等查看提交消息时,以等宽字体输入。它在其他上下文中的工作方式与此类似,例如在 Markdown 中。
然而这并没有起到很好的作用。Agit log显示以下提交消息:
Changed function name to

当我用谷歌搜索这个问题时,我只发现了这个关于反引号命令的问题,但是提问者和回答者都已经熟悉我想要理解的概念。

反引号在提交消息中起什么作用?有没有办法将提交消息的部分标记为等宽字体?

git commit-message monospace git-commit

17
推荐指数
1
解决办法
3002
查看次数

'git'的JIRA代码验证提交钩子

有没有人有我可以使用的git提交钩子,以确保在签入消息中出现JIRA问题编号?我没有从git commit hook驱动JIRA的经验,所以任何帮助都会受到赞赏 - 工作源更是如此!

git commit-message jira

14
推荐指数
1
解决办法
1万
查看次数

为什么 git 提交的建议行长度为 50(摘要)和 72(正文)?

确切的数字有一些变化,但一般来说,提交消息的第一行和后续行长度有推荐长度或最大长度。消息正文的常见字符数似乎最多为 72 个字符,进一步建议限制为 50 个字符。

这些或其他常见的 git 提交行限制的原因是什么?

我听说 72 个字符的限制与 RFC 2045 中定义的建议电子邮件宽度限制 76 有关:

(5)(软换行符)Quoted-Printable 编码要求编码行的长度不超过 76 个字符。

git 函数在生成电子邮件时会向提交消息添加 4 个字符,这会要求提交行短于电子邮件限制。反过来,我知道电子邮件字符限制与旧终端系统的 ~80 个字符限制有关。

如果这确实解释了 72 个字符的限制,那么 50 个字符的限制从何而来? Subject:只有 9 个字符,因此在 50 之前添加只会得到 59。也许我们然后添加常用的 7 个字符缩写提交哈希 ID 和一个空格,这给了我们 67,还有 5 个备用字符。

git commit-message git-commit

12
推荐指数
1
解决办法
5001
查看次数