版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Git 源代码管理规范 Git 源代码管理规范 一、 分支管理 使用 git 进行源代码管理, 一般将某个项目的所 有分支分为以下几条主线: 1. Master 顾名思义,既然名字叫 Master ,那么该分支 就是主分支的意思。 master 分支永远是 production-ready 的状态,即稳定可产品化 发布的状态。 2. Develop 这个分支就是我们平常开发的一个主要分支 了,不管是要做新的 feature 还是需要做 bug fix ,都是从这个分支分出来做。 在这个分支下 主要负责记录开发状态下相对稳定的版本,即 2 / 18 完成了某个 feature 或者修复了某个 b
2、ug 后 的开发稳定版本。 3. Feature branches 这是由许多分别负责不同 feature 开发的分支 组成的一个分支系列。 new feature 主要就在 这个分支系列下进行开发。当功能点开发测试 完毕之后,就会合并到 develop 分支去。 4. release branches 这个分支系列从 develop 分支出来,也就是 预发分支。在预发状态下,我们往往会进行预 发环境下的测试,如果出现缺陷,那么就在该 release 分支下进行修复,修复完毕测试通过 后,即分别并入 master 分支后 develop 分支, 随后 master 分支做正常发布。 3 / 1
3、8 5. Hotfix branches 这个分支系列也就是我们常说的紧急线上修 复,当线上出现 bug 且特别紧急的时候, 就可 以从 master 拉出分支到这里进行修复,修复 完成后分别并入 master 和 develop 分支。 下面这张图将完整展示这一个流程 4 / 18 工作原理 Git 的工作方式: 5 / 18 也就是说,每次提交版本变动的时候, git 会保 存一个快照 (snapshot) 。如果文件没有被更改, git 也不会再次保存,而是提供一个到原来文件 的链接。这样一来, git 更像是一个小型的文件 系统。此外, git 的所有操作都可以是本地的, 仅仅在将新版
4、本的内容上传到服务器上时才需 要连接网络。 6 / 18 Git 目录( repository )是 Git 保存元数据和对 象数据库的地方。这也是 Git 最重要的部分。 工作目录( working directory )是项目某个版 本的内容。 暂存区( staging area )是一个简单的文件,通 常包含在 Git 目录中。其中存储了将要进入下一 次提交的信息。 Git 的基本工作流程如下: 7 / 18 1. 在工作目录中修改文件。 2. 标识 (stage) 文件,并将文件快照添加到暂存 区。 3. 执行 commit,将获取暂存区中的文件,并将 快照永久保存到 Git 目录中。
5、 三、常用命令 1. 创建工程 git init 2. 提交修改 git add后就从修改变为暂存 git commit后就从暂存变为提交。 8 / 18 3. 提交规范 在 commit 时 ,如果有对应 PR(需求项),请 在第一行写上 PR 号,然后再描述信息(另起 行),并把涉及到改动的文件名附上。 4. 回溯 改错了,不过还没有 git add git reset -hard 改错了,已经 git add git reset -q files ( 其实就是 git add 的反向操作 ) 改错了,已经 git commit git reset -soft HEAD ( 其实就是 gi
6、t commit的反向操作 ) 已经 git commit ,忘记写注释( PR )或者漏提交了部分文件 如果添加注释可以直接执行命令 git commit -amend,填写注释保存 9 / 18 如果添加文件先执行 git add 后执行 git commit -amend 5. 创建分支 查看分支 git branch 切换分支 git checkout branch name 创建分支 ( 在当前代码的基础上 ) git branch branch name 6. 合并分支 先检出目标分支再把其他分支合并进去 git checkout branch name git merge oth
7、er_branch 7. 删除分支 git branch -d branch name ( 不能删?用这个! ) 10 / 18 git branch -D branch name 8. 标签管理 git tag v1.0 9. 远程操作 克隆远程库 git clone 定义远程库 git remote 从远程库取回更新 git fetch 从远程库取回更新并合并 git pull 推送至远程库 git push 11 / 18 四、操作流程 ( 本地) 1. 准备工作 初始化目录 git init git add readme.md git commit -m master init 然后从
8、 master 分支中拉出 develop 分支 git checkout -b develop 2. 功能点开发 有新的需求或功能点需要开发时, 从最新 develop 分支中拉出一个 feature 分支 git checkout -b feature name 完成 feature 开发后需要对 feature 分支进行 合并操作 git checkout develop git merge feature name 12 / 18 3. 处理冲突 当合并分支出现冲突时,需要手动将文件冲突 的部分进行修改。对修改后的文件保存并重新 提交。 4. 产品发布 当 develop 分支已经达到
9、了一个可以发布的 状态,将最新的 develop 分支拉出来成为一 个 release 分支 git checkout -b release 假设需要一些环境配置,新建配置文件并提交 git add release.config git commit -m release1 当遇到一些预发环境下的 bug ,这个时候我就 直接在 release 分支下进行修复演进,如果 13 / 18 bug 问题很大, 则需要重新并入 develop 中, 拉出新的 feature 进行开发重构。 如果预发一切正常,需要将 release 分支同时 并入 master 分支和 develop 分支, mas
10、ter 分支供线上发布, develop 分支供下次开发演 进。 git checkout master git merge release name git checkout develop git merge release name 5. 线上 bug 热修复 当碰到一些线上意想不到的 bug ,需要紧急修 复时,就直接从 master 分支拉出 hotfixes 分支进行修复。 git checkout master git checkout -b hotfix name 14 / 18 bug 修复完毕, 测试通过后我们将分支合并到 master 和 develop 中去。 git
11、checkout develop git merge hotfix name git checkout master git merge hotfix name 五、远程操作 远程操作的 5 个常用命令 git clone git remote git fetch git pull git push 15 / 18 1. 从远程主机克隆一个版本库 git clone 该命令会在本地主机生成一个目录,与远程主 机的版本库同名。 2. 管理主机名 为了便于管理, Git 要求每个远程主机都必须 指定一个主机名。 不带选项的时候, git remote 命令列出所有 远程主机。 3. 将更新取回本地
12、 git fetch 16 / 18 默认情况下, git fetch 取回所有分支 ( branch )的更新。 如果只想取回特定分支的 更新,可以指定分支名。 git fetch git branch 命令的 -r 选项,可以用来查看远 程分支, -a 选项查看所有分支。 取回远程主机的更新以后,可以在它的基础 上,使用 git checkout 命令创建一个新的分 支。 git checkout -b newBrach origin/master 也可以使用 git merge 命令或者 git rebase 命 令,在本地分支上合并远程分支。 git merge origin/master 17 / 18 或者 git rebase origin/master 4. 取回更新同时合并到本地 git pull 命令的作用是,取回远程主机某个分 支的更新,再与本地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妇科护理中的患者教育与管理
- 心肌病患者的护理质量改进
- 插花与花艺设计(第4版)课件 项目1 插花花艺基本知识
- 冬季XX县XX农村自建房消防安全隐患排查
- 2024-2025学年度计算机四级试题预测试卷带答案详解(典型题)
- 2024-2025学年度电梯考试模考模拟试题含答案详解【突破训练】
- 2024-2025学年度医院三基考试考前冲刺试卷含完整答案详解(各地真题)
- 2024-2025学年度公务员考试《常识》测试卷及参考答案详解【模拟题】
- 2024-2025学年度医院三基考试模拟试题含答案详解(培优)
- 2026年医保报销政策试题及答案
- 预应力空心方桩打桩工程监理实施细则
- 统编版语文三年级上册第三单元快乐读书吧:伊索寓言 导读课 课件
- 数字华容道-1课时
- 人教版数学六年级下册数第四单元《比例》集体备课教案
- 美丽的夏牧场同声合唱谱
- 新进人员院感培训
- 山西职业技术学院单招《语文》考试复习题库(含答案)
- 新版《技规》工务普速课件
- 浙江华峰新材料股份有限公司年产32万吨聚氨酯原液和32万吨聚氨酯中间体技改项目环境影响报告书
- 护理学腮腺炎的护理课件
- 机械设备技术参数登记表
评论
0/150
提交评论