gpt4 book ai didi

Git:如何通过访问控制保护 git-flow 中的 develop/master 分支(来自菜鸟)?

转载 作者:太空狗 更新时间:2023-10-29 13:15:55 26 4
gpt4 key购买 nike

前几天我读了https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow我有一个问题。

如果在项目中使用 Feature Branch 或 Gitflow Branch Workflows:是否有一个选项可以让用户将一个功能分支作为跟踪功能分支推送到 origin 发出 pull 请求并且只有项目的维护者能够将跟踪功能分支 merge 到主(功能分支工作流程)或开发(Gitlow 分支工作流程)?

换句话说:是否可以将分支分配给用户,这样如果不想使事情过于复杂但仍然有保证的代码审查可以确保主/开发者的安全,那么人们就不会立即需要 fork 工作流从菜鸟分支?

最佳答案

像github、bitbucket、gitlab、vsts等远程git服务,都有“保护”分支的能力,防止直接推送给它们或删除分支。如果你想在你的本地机器上模拟这样的东西,你可以使用 git hooks:https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

防止提交到 master 的示例:https://gist.github.com/aaronhoffman/ffbfd36928f9336be2436cffe39feaec

预提交文件:

#!/bin/sh
# prevent commit to local master branch

branch=`git symbolic-ref HEAD`
if [ "$branch" = "refs/heads/master" ]; then
echo "pre-commit hook: Can not commit to the local master branch."
exit 1
fi

exit 0

预推文件:

#!/bin/sh
# Prevent push to remote master branch

while read local_ref local_sha remote_ref remote_sha
do
if [ "$remote_ref" = "refs/heads/master" ]; then
echo "pre-push hook: Can not push to remote master branch."
exit 1
fi
done

exit 0

关于Git:如何通过访问控制保护 git-flow 中的 develop/master 分支(来自菜鸟)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31810287/

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