这不是一个关于工作流意见的问题,而是一个关于如何减少下面工作流的击键量的具体问题。
我的开发团队通常遵循一个定制的分支Git工作流。
工作流
master分支的feature/<branch>,refactor/<branch>,bug/<branch>等.mastermaster中。这是我们的工作流程,对我们来说很好。但是,我执行的git命令已经变得相当重复,而且有点烦人。
用于工作流的Git命令
git checkout -b feature/new-branch-namegit add .git commit -m "some commit message"git push --set-upstream origin feature/new-branch-namegit checkout master (切换回主控以在更改中合并)git pull (从新分支获取更新)git branch -d feature/new-branch-name (删除本地分支)有更干净的方法来减少这么多的git命令吗?重复这一切已经变得非常乏味了。我正在考虑为我编写一些脚本文件来管理其中的一些。我知道有一些脚本已经存在,但我不想被强迫进入别人的方法,我只是在寻找方法来拯救我的手指在这里。
任何一天,我将分支和提交拉请求约3-6次.因此,我们的分支机构寿命很短,规模和范围都很小。但实际的过程是艰巨的。
有谁有更好的实现来完成我团队的分支机制?
发布于 2014-10-22 16:22:24
1)您不需要每次想要扩展时都物理地更新master,您可以替换以下步骤:
git checkout master
git pull
git checkout -b feature/new-branch-name通过以下方式:
git fetch
git checkout -b feature/new-branch-name origin/master(这两个命令是git别名/脚本的很好的候选命令,称为git-start-特性)
2) git add . && git commit -m msg就是git commit -a -m msg。有时,您需要进行单个提交,有时将更改拆分为多个提交,因此编写脚本没有意义。您还可以先提交任何更改,然后继续修改。
3)您不需要立即删除本地分支,但如果需要,则可以将此步骤与git push结合起来
git push -u origin feature/new-branch-name
git checkout master
git branch -D feature/new-branch-name您可以将其转换为脚本git-push-forget
#!/bin/bash
branch_name=$(git rev-parse --abbrev-ref HEAD)
case "$branch_name" in
master)
echo "ops, this master!"
exit 1
;;
*)
if git push -u origin "$branch_name"; then
git checkout master
git branch -D "$branch_name"
else
echo "umpf, git push failed..."
exit 2
fi
;;
esac(请注意,我没有检查这个脚本是否有效,只是在网上打印出来;如果您对此有任何疑问,请向我发送)
所以现在您的工作流程应该如下所示:
git-start feature/new-branch-name
# work, work, work
git commit -a -m "magnificent"
git-push-forget
# do github specific stuff编辑也,使用bash完成与终端快速工作。如果您正在使用Linux,那么请确保您已经安装了bash完成包(或bash完成包)-一些发行版在默认情况下可能不会安装它。您还可以编写自己的完成文件(例如,不断建议您为git-start脚本命名分支)。如果你想朝那个方向走,就大声喊出来。
另一点是打开带有github请求的浏览器页面(如果可以猜到url,我不使用github企业)。
https://stackoverflow.com/questions/26494248
复制相似问题