我有一个功能分支-我们称之为featureX'
当我在开发它时-我创建了多个提交,将它们发送到服务器,对其进行测试-还有多个提交等。
稍后,我将该分支合并到master-我想在历史记录中查看哪些提交在提交给master之前是该featureX
分支的一部分。
目前,我的方式是记住每次提交时都将其添加到评论中-但是我很懒,而且并不总是记得这样做。
是否可以标记这些提交,或自动在其注释中添加带有分支名称的前缀?
我在Visual Studio中使用git,并且使用的是UI
答案 0 :(得分:3)
是的,有一种方法可以自动在其注释中添加带有分支名称的前缀。可以使用commit-msg
挂钩来实现。例如,如果您将此代码写入文件.git/hook/commit-msg
:
#!/bin/bash
current_branch="$(git rev-parse --abbrev-ref HEAD)"
echo '['"$current_branch"'] '$(cat "$1") > "$1"
您所有的提交消息都将自动以“ [branch_name]
”为前缀。
编辑:
我实际上设法在Windows中编写了相同的脚本
在名为.git/hooks/commit-msg.bat
的文件中编写以下代码(几乎等同于上面三行):
@echo off
FOR /F "tokens=* USEBACKQ" %%F IN (`git rev-parse --abbrev-ref HEAD`) DO (
SET current_branch=%%F
)
FOR /F "tokens=* USEBACKQ" %%F IN (`type .git\COMMIT_EDITMSG`) DO (
SET commit_msg=%%F
)
SET p_commit_msg=[%current_branch%] %commit_msg%
ECHO %p_commit_msg% > .git\COMMIT_EDITMSG
在文件.git/hooks/commit-msg
中,按以下方式调用此脚本:
#!/bin/bash
cmd.exe /c "commit-msg.bat"
答案 1 :(得分:0)