Git(下) | 青训营笔记

141 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第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。