我才刚刚意识到,我所有的git commit消息都是以我当前正在使用的分支的名称开头的。依次是我正在处理的问题号。对于我来说,拥有一个类似于刚刚打印当前分支名称的注销快捷方式的键盘快捷方式将非常方便。
我查看了C:\Program Files\Git\mingw64\libexec\git-core\git-gui.tcl
(是的,我在Windows上:-(),但我完全迷路了。我在此文件夹上做了一个快速的grep
,但是我找不到位置do_signoff
命令已定义(因此我可以尝试复制它)。
所以我的问题是:如何实现自定义的键盘快捷方式,以将当前分支名称放入提交消息中?
谢谢!
答案 0 :(得分:0)
好的,知道了。
克隆git-gui存储库,如下所示:
git clone git://repo.or.cz/git-gui.git
将以下内容添加到git-gui\lib\commit.tcl
proc do_branch_name {} {
global ui_comm
global current_branch
if {$current_branch eq {}} return
set sob "$current_branch"
set last [$ui_comm get {end -1c linestart} {end -1c}]
if {$last ne $sob} {
$ui_comm edit separator
if {$last ne {}
&& ![regexp {^[A-Z][A-Za-z]*-[A-Za-z-]+: *} $last]} {
$ui_comm insert end "\n"
}
$ui_comm insert end "$sob:"
$ui_comm edit separator
$ui_comm see end
}
}
要将CTRL + b绑定为键盘快捷键,请将以下内容添加到Git\mingw64\libexec\git-core\git-gui.tcl
:
bind . <$M1B-Key-b> do_branch_name
您仍然需要重新生成tclIndex
,以便tcl实际上找到您的新功能。在git-gui repo文件夹中,执行
make lib/tclIndex
这应该创建git-gui\lib\tclIndex
文件。
将C:\Program Files\Git\mingw64\share\git-gui\lib\commit.tcl
替换为git-gui\lib\commit.tcl
。
将C:\Program Files\Git\mingw64\share\git-gui\lib\tclIndex
替换为git-gui\lib\tclIndex
现在,如果按CTRL + b,它将把当前分支的名称放置在提交消息窗口中。
干杯!