我开始玩git hooks,我想创建一个以防止开发人员在特定分支上创建新分支.我们公司目前的流程看起来像这样:
git checkout master
git fetch
git reset --hard origin/master
git checkout -b [branch name]
do awesome things.
Run Code Online (Sandbox Code Playgroud)
但是,偶尔快速移动时,一些开发人员最终会从分段回购中启动这个新分支.这导致悲伤.
所以,我想在开发人员开始创建一个新分支时创建一个钩子来中断,检查他们所在的分支,以及exit 1分支是不是master(或者如果分支名称那么通常只停止操作staging) ,否则允许.
编辑:
当我在此搜索更多内容时,我意识到我想要一个预检出钩子,它似乎不存在.除非有人有更好的想法,否则如果上述情况出现,我将继续在结账后挂钩中打印一个非常大的警告.
我会在受祝福的回购方面抓住这一点。如果开发人员在最新主控之外的提交之外的其他内容上启动了分支,请拒绝该分支的推送。他们可以通过重新调整 master 的基准并再次推送来进行纠正。确保您的错误消息具有足够的描述性,以便他们知道如何纠正他们的情况。
此外,更新你的 master 而不检查它:
git fetch
git push . origin/master:master
Run Code Online (Sandbox Code Playgroud)
然后从最新的 master 创建一个分支:
git checkout -b somecoolfeature master
Run Code Online (Sandbox Code Playgroud)
您甚至不必让本地大师保持最新状态:
git fetch
git checkout -b somecoolfeature origin/master
do awesome stuff :)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2383 次 |
| 最近记录: |