gpt4 book ai didi

git - 识别在分支上完成的提交

转载 作者:太空狗 更新时间:2023-10-29 13:39:38 25 4
gpt4 key购买 nike

我有一个功能分支 - 我们称它为 featureX'当我开发它时——我创建了几个提交,将它们发送到服务器,测试它——再提交几个等等……稍后我将这个分支 merge 到 master - 我想在历史中看到哪些提交在提交到 master 之前是这个 featureX 分支的一部分。

目前我的方法是记得在我提交时将其添加到评论中 - 但我很懒,并不总是记得这样做。

有没有办法标记这些提交,或者自动在他们的评论中添加带有分支名称的前缀?

我在 Visual Studio 中使用 git,使用它的 UI

最佳答案

是的,有一种方法可以自动将带有分支名称的前缀添加到他们的评论中。它可以使用 commit-msg 钩子(Hook)来实现。例如,如果您将此代码写入文件 .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"

关于git - 识别在分支上完成的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52755018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com