这是我参与「第五届青训营 」伴学笔记创作活动的第7天。
参考教程链接: www.bilibili.com/video/BV1tK…
www.open-open.com/lib/view/op…
1、分支
- 主分支(master):第一次向git仓库中提交更新记录时自动产生的分支。
- 开发分支(develop):作为开发的分支,基于master分支创建。
- 功能分支(feasture):作为开发具体功能的分支,基于开发分支创建。
分支命令;
- git branch //查看分支,*表示当前分支
- git branch [分支名称] //创建分支
- git checkout [分支名称] //切换分支
- git merge [分支名称] //合并分支
- git branch -d [分支名称] //删除分支,分支需合并后才可以删除(-D强制删除)
暂时保存更改:
- git stash //存储临时改动
- git stash pop //恢复改动
2、github公共仓库
多人协作开发流程:
- A创建本地仓库
- A在github中创建远程仓库
- A将本地仓库推送到远程仓库
- B克隆远程仓库到本地进行开发
- B将本地仓库中开发的内容推送到远程仓库
- AB将远程仓库中最新的内容拉取到本地
推送:
- git push [远程仓库地址] [分支名称]
- git push [远程仓库地址别名] [分支名称]
- git remote add origin(别名) [远程仓库地址] //远程仓库设置别名
- git push -u [远程仓库地址] [分支名称] //-u 下一次提交只需输入 git push
克隆(本地无仓库):
- git clone [远程仓库地址]
拉取最新版本(本地有仓库):
- git pull [远程仓库地址] [分支名称]
3、解决冲突
多个人同时修改了同一个文件的同一个地方,就会发生冲突,冲突需要人为解决。
4、分支管理规范
来自:www.open-open.com/lib/view/op…
- 要确保:团队成员从主分支(master)获得的都是处于可发布状态的代码,而从开发分支(develop)应该总能够获得最新开发进展的代码。
- 建议一个中心版本库至少包括两个分支,即“主分支(master)”和“开发分支(develop)”
- 团队开发中建议有辅助分支:“辅助分支”的最大特点就是“生命周期十分有限”,完成使命后即可被清除。
- 建议至少还应设置三类“辅助分支”,我们称之为“Feature branches”,“Release branches”,“Hotfix branches”
- “Feature branches”,起源于 develop 分支,最终也会归于 develop 分支。
- “Release branch”,起源于 develop 分支,最终归于“develop”或“master”分支。这类分支建议命名为“release-*”。“Relase branch”通常负责“短期的发布前准备工作”、“小 bug 的修复工作”、“版本号等元信息的准备工作”
- Hotfix branches”源于“master”,归于“develop”或“master”,通常命名为“hotfix-*”。“Hotfix branches”类似于“Release branch”,但产生此分支总是非预期的关键 BUG。