2013-01-23 46 views
5

我们将尝试github中的工作流程,其中每张票据都是主分支。
工单完成后,工作被合并到分段中,回归和集成测试在合并到主设备之前执行。合并到主人后自动删除git分支

合并开始建立之后,一位团队负责人提出了旧门票分支的问题。

我发现this脚本,并想知道这是否会在我们的环境中工作。我们只想删除已经合并到master中的分支。

+0

GitHub有一个[删除分支的按钮](https://github.com/blog/1335-tidying-up-after-pull-requests)被合并到他们提交给他们的分支,但我想对你没有多大帮助。 –

+0

是的,我们想让这个过程自动化。该链接显示了如何使用shell执行此操作,但我们无法访问github shell,因此无法chronjob它,afaik –

+0

因此,您实际上正在寻找[git hooks](http://git-scm.com)/book/en/Customizing-Git-Git-Hooks),更具体地说是'合并后'钩子。如果是这样的话,恐怕它不会起作用。 –

回答

4

据我所知,您的用例没有现成的脚本。你必须为此创建自己的工具。

Vincent Driessen有一个名为git-flow的工具,它可以帮助开发者遵循"A successful Git branching model"中描述的git工作流程。

它不像合并后删除分支一样简单,因为你永远不知道是否会遇到合并冲突。

+0

我添加的链接是一个可以使用的脚本,但我认为我不能用它与github。 –

+0

GitHub与它无关。它只是一个托管你的仓库的服务(还有一点)。 –

+1

hub flow(http://datasift.github.com/gitflow/)是从gitflow改编而来的,效果很好。 –

2

将以下任一项添加到您的.gitconfig文件中,以获得简单的别名,以便使用1个命令合并和删除分支。

别名作为一个函数:

[alias] 
    ff = "!f() { git merge $1; git branch -d $1; }; f" 

别名作为一个新的shell命令:

[alias] 
    ff = !sh -c 'git merge $1 && git branch -d $1' -- 

他们都做同样的事情,只是2种这样做的不同的方法。

相关问题