前言:在多组员,多项目等环境进行协同工作时,如果没有统一规范、统一流程,则会导致额外的工作量,甚至会做无用功。所以要减少版本冲突,减轻不必要的工作,就需要规范化的工作流程,本文就gitflow作简要的命令操作。
主分支
master 只负责管理发布的状态。在提交时使用标签记录发布版本号。
develop 针对发布的日常开发分支。刚才我们已经讲解过有合并分支的功用。
开发分支
Git创建Develop分支的命令:
1
| git checkout -b develop master
|
将Develop分支发布到Master分支的命令:
1 2 3 4
| git checkout master
git merge --no-ff develop
|
临时性分支
功能(feature)分支
预发布(release)分支
修补bug(fixbug)分支
功能分支
创建一个功能分支:
1
| git checkout -b feature-x develop
|
开发完成后,将功能分支合并到develop分支:
1 2
| git checkout develop git merge --no-ff feature-x
|
删除feature分支:
1 2 3
| git branch -d feature-x
git push origin --delete feature-x
|
预发布分支
创建一个预发布分支:
1
| git checkout -b release-1.2 develop
|
确认没有问题后,合并到master分支:
1 2 3 4
| git checkout master git merge --no-ff release-1.2
git tag -a 1.2
|
再合并到develop分支:
1 2
| git checkout develop git merge --no-ff release-1.2
|
最后,删除预发布分支:
1
| git branch -d release-1.2
|
修补bug分支
创建一个修补bug分支:
1
| git checkout -b fixbug-0.1 master
|
修补结束后,合并到master分支:
1 2 3 4
| git checkout master git merge --no-ff fixbug-0.1
git tag -a 0.1.1
|
再合并到develop分支:
1 2
| git checkout develop git merge --no-ff fixbug-0.1
|
最后,删除修补bug分支:
1
| git branch -d fixbug-0.1
|
取消刚才的合并merge
合并
1 2 3 4 5 6
| git checkout issue3 git rebase master
git checkout master git merge issue3
|
修改冲突后的提交
取消rebase
回退
commit 回退
commit log
commit reset
push 回退
push log
push reset
合并 commit
1 2 3 4 5
| $ git rebase -i HEAD~3
$ git rebase -i [commitid]
|
标签
添加轻标签
1 2 3 4 5
| git tag v2.0
git tag
git log --decorate
|
添加注解标签
1 2 3 4 5
| git tag -a v3.0 // 或 git tag -am "注解" v3.0
git tag -n
|
删除标签
1 2
| git tag -d v2.0 git tag -d v3.0
|
推送标签到远程
查看远程分支
Git远程仓库地址变更
查看所有远程仓库
删除远程仓库地址
修改变更后的远程仓库地址
1
| git remote add origin http://xxx.git
|
git问题
LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
1
| git config --global http.postBuffer 1048576000
|
Empty reply from server
1
| git config --global --unset http.proxy
|
参考