我知道我可以通过黑客Trac和使用Git钩子来完成大部分工作,但我想知道是否有人知道某些事情.
从提交消息中注释(和关闭)票证会很好,特别是如果diff与注释/结束注释内联.
sha1哈希应该自动链接到gitweb/cigt/custom git browser.
我试过GitPlugin for Trac,但是代码浏览器太慢......任何替代方案?
我已将mcedit设置为git commit消息的编辑器.默认情况下,它会忽略以#字符开头的任何行.不管看起来多么奇怪,我需要能够将我的提交消息看起来像这样:
#FOO-123: Implement bar foo
Committing work in progress
Run Code Online (Sandbox Code Playgroud)
这#FOO-123: ...实际上是我们跟踪器中问题的关键+标题.跟踪器可以自动获取这些提交消息并将其添加到问题中.
不幸的是,第一行被视为注释而被忽略.
我不想通过添加来提交命令行,-m因为当你有多行时它不方便/丑陋.
我怎么能解决这个问题?
如本回答所述,自Git 1.8.2起,您可以使用core.commentchar配置值将提交消息注释更改为默认值#(hashmark或hashsign)之外的其他内容.
这样可以节省生命,例如,如果您的提交消息策略要求您启动带有票号的提交消息:
#123 Fixed array indices
Run Code Online (Sandbox Code Playgroud)
可悲的是,这打破了Vim语法高亮.
你怎么能把美丽带回来?
git rebase --continue当在正常的变基冲突后调用时,编辑器 ( GIT_EDITOR) 打开并要求修改提交消息。因为提交消息可能包含前导 #,所以这可能会失败。
$ export GIT_EDITOR=true
$ git rebase --continue
Aborting commit due to empty commit message.
error: could not commit staged changes.
Run Code Online (Sandbox Code Playgroud)
在Git rebase 文档中有以下段落
提交改写 当变基时发生冲突时,变基会停止并要求用户解决。由于用户在解决冲突时可能需要进行显着更改,因此在解决冲突并且用户运行 git rebase --continue 后,rebase 应打开一个编辑器并要求用户更新提交消息。合并后端执行此操作,而应用后端则盲目应用原始提交消息。
所以我尝试切换到apply后端,但仍然失败:
$ export GIT_EDITOR=true
$ git config rebase.backend apply
$ $ git config --list | grep backend
rebase.backend=apply
$ git rebase --continue
Aborting commit due to empty commit message.
error: could not commit staged changes.
Run Code Online (Sandbox Code Playgroud)
如何强制Git盲目应用提交消息?
在git中执行交互式rebase后,我希望有一个以#(hash或pound)字符开头的提交消息,但以#开头的行#被视为注释并被忽略.
有没有办法逃脱#角色,使我的提交消息实际上以一个开头#?
更多细节
我正在使用以下方式执行交互式rebase:
git rebase -i HEAD~4
Run Code Online (Sandbox Code Playgroud)
然后,在编辑器中我正在做任何需要的事情,例如:
pick b010299 #91691 Add test for logging in with valid credentials
reword 5e9159d 91691 Implement log-in feature
pick 2735aa3 #91691 Re-factor logic
pick 14bd500 #91691 Tidy up 'using' declarations
# Rebase 60d6e3f..14bd500 onto 60d6e3f
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for …Run Code Online (Sandbox Code Playgroud) 每隔一段时间,我想#在 git 提交消息中包含以 开头的行。
问题是“有没有办法转义该#字符,使其不被解释为注释标记?”
请回答“是的,是..”或“否”。
这不是Start a git commit message with a hashmark (#)的重复。我只是想确认一下是否有可能逃脱。
我有一个小问题。在我们公司,我们达成了一项协议,即与错误跟踪器中的某些问题相关的所有提交都应以#<issue_number>(例如,#8956)开头。但是当使用编辑器编写消息时,git 会忽略所有以字母“#”开头的行。如果我使用的git commit -m '#<issue_number> <Message>'话是没有问题的。但我想修改提交并编辑它的消息而不使用-m标志。那么有没有办法让git#在使用编辑器编写提交消息时不忽略以开头的行呢?