有没有办法在这种情况下配置Git / Github以提示警告消息:
$> git branch
$> *my_special_branch
$> git commit -am "I am about to make a grave error"
$> git push origin master
基本上我想阻止自己和我的团队在没有警告或确认提示的情况下推送到不同于我当前的远程分支...
所以基本上我想阻止从任何分支推送到远程主分支,但是本地主分支......
答案 0 :(得分:2)
我不认为有办法做你要求Git做的事情。由于您和您的团队成员具有对存储库的推送访问权限,因此您可以自由地推送到您想要的任何其他分支,掌握或其他。
你可以做的就是在你不同的分支上提交一些东西来掌握,这样你就不会意外地推动,因为主人在提交时领先。
另一件事是只为自己提供推送权限,然后你的团队成员如果想要掌握一些东西就必须做拉取请求,但这不是理想的我确定
有趣的问题,如果有人提出具体的答案,我会保存它。抱歉,没有比这更有帮助了。
答案 1 :(得分:1)
根据我的理解,您需要特定分支的用户权限。
存在提供此功能的各种工具(存储库管理工具)。
借助这些工具,您可以向用户提供分支级别权限。由于Master分支始终处于部署准备状态,因此只有lead才能访问,并且没有其他人可以与master分支合并。同样的方式开发人员可以访问创建拉取请求(用于代码审查和与其他分支合并的请求),并且领导将审查它,并且一旦领导者确信他批准的功能并将代码与主分支合并。
选择存储库管理工具需要存储库是内部存在还是存在于云上。如果内部部署我的建议是使用Stash else,你可以使用bit bucket或github for cloud。
答案 2 :(得分:0)
我认为最好的方法就是这样:
Default behavior of "git push" without a branch specified
您可以将Git配置为具有某些默认行为
例如,如果您像这样配置Git:
git config --global push.default current
你可以省略branchname,它默认将当前本地分支推送到具有相同名称的远程分支。
所以,如果你运行这个命令,省略" refspec" / branchname
$> git push origin
然后它只会将当前分支推送到具有相同名称的远程/原点分支
它可以避免输入长分支名称,并且可以作为一个安全的位置