本技术文档主要讲的是关于git的基本使用以及git工作流等的认识和实际开发过程中的冲突解决等。 1. Git与代码托管平台 1.1 Git与Github比较 Git: 是一个版本管理工具 , 只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序, 比如你原来提交过的内容,后面虽然修改过,但是通过git这个工具,可以把你原来提交的内容重现出来,这 样对于你后来才意识到的一些错误进行更改,进行还原。 GitHub (官网: https://github.com/): 是一个基于Git的远程代码托管平台(网站),可以在github上建立一个远程库,可以将本地库的代码提交到远程库,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的 方式非常方便程序员之间的交流和学习。 1.2 Git托管平台 局域网: GitLab(可自行搭建) 外网环境: GitHub 码云 1.3 本地库和远程库 团队内部协作开发

Git技术文档

 

远程跨团队协作开发

Git技术文档

 

2. Git命令行操作 2.1 打开命令行窗口 安装Git后,在资源管理器的空白处,单击鼠标右键打开窗口,点击 Git Bash Here ,打开Git命令行窗口, 在窗口中可直接使用Linux命令操作:

Git技术文档

2.2 初始化git本地库 命令:git init 效果:

Git技术文档

Git技术文档

注意: .git 目录中存放的是本地库相关核心配置文件,也不要随意删除与修改

.git 目录仓库目录说明:

hooks目录:脚本文件的目录。

info目录:保存了不希望在

.gitignore 文件中管理的忽略模式的全局可执行文

 

logs目录:日志目录

objects目录:存储所有数据内容

refs目录:存储指数据(分支)的提交对象的指针config文件包含了项目特有的配置选项description文件仅供 GitWeb 程序使用

HEAD文件指向当前分支

    1. 设置签名信息

作用:只为区分不同开发人员的身份信息

用户名:zhangyang

Email:[email protected]

注意:这里的签名信息和登录远程库的帐号和密码没有任何关系(码云,Github)

命令:

Git技术文档

 

  1. Git基本操作
    1. 查看状态

用于查看工作区、暂存区的状态

Git技术文档

根据状态提示,往仓库中创建一个demo01.txt文件,文件保存一些内容(按i插入内容,按:wq,保存并退出, 按 ':q!' 不保存强制退出)

Git技术文档

 

再git status查看状态提示 untracked files有未追踪文件)

Git技术文档

 

3.2添加到暂存区

Git技术文档

 

3.2 提交到本地库 将暂存区提交到本地库

命令:git commit [-m “提交说明信息”]<file name>

Git技术文档

修改demo1.txt文件内容,在查看状态

Git技术文档

4. Git分支管理

4.1什么是git分支 在版本控制过程中,使用多条线同时推进多个任务 如下图:

Git技术文档

4.2 Git分支的好处? 同时并行推进多个功能开发,提高开发效率 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始 即可。 4.3 Git分支操作 查看分支: git branch -v 创建分支: git branch 新分支名 删除分支(删除的分支不是当前正在打开的分支): git branch -d 分支名 切换分支: git chckout 分支名 合并分支: 第1步:切换到接受修改的分支上 命令: git checkout 需要接受的分支名 第2步:执行 merge 命令 命令: git merge 有新内容的分支名 解决冲突: 冲突的表现:如下图

Git技术文档

冲突的解决: 第1步:编辑文件,删除特殊符号 第2步:把文件修改到满意为止,保存退出第3步:git add 文件名 第4步:git commit -m "日志信息" 注意:此时 commit 后面一定不要有文件名 5 Git 工作流与实战演练 5.1什么是工作流 因为项目开发中,多人协作,分支很多,虽然各自在分支上互不干扰,但是我们总归需要把分支合并到一起,而且真实项目中涉及到很多问题,例如版本迭代,版本发布,bug 修复等,为了更好的管理代码,需要制定一个工作流程,这就是我们说的工作流,也有人叫它分支管理策略。 "工作流程"在英语里,叫做"workflow"或者"flow",原意是水流,比喻项目像水流那样,顺畅、自然地向前流动,不会发生冲击、对撞、甚至漩涡。 5.2GitFlow工作流说明

 

Gitflow 工作流通过为功能开发、发布准备和维护设立了独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。

Git技术文档

剩下要说明的问题围绕着这2个分支的区别展开。 5.3 分支种类

Git技术文档

主干分支 master 主要负责管理正在运行的生产环境代码。 永远保持与正在运行的生产环境 完全一致。热修复分支 hotfix 主要负责管理生产环境下出现的紧急修复的代码。 从主干分支分出,修 理完毕并测试上线后,并回主干分支。并回后,视情况可以删除该分支。 开发分支 develop 主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。 准生产分支(预发布分支) release 较大的版本上线前,会从开发分支中分出准生产分支,进行最后阶段的集 成测试。该版本上线后,会合并到主干分支。生产环境运行一段阶段较稳定后 可以视情况删除。 功能分支 feature 为了不影响较短周期的开发工作,一般把中长期开发模块,会从开发分支 中独立出来。 开发完成后会合并到开发分支。 5.4 工作流实战演练

Git技术文档

5.4.1第1步: 创建开发分支 使用 经理 用户,在本地仓库中新创建一个 develop 分支 项目右键 → Git → Repository → Branches 点击 New Branch 创建分支 框中输入新分支名:develop , Checkout branch 勾选后,会马上切换到新创建的这个分支 右下角可查看到当前所在分支: develop

Git技术文档

5.4.2第2步: 经理 develop分支止开发新功能

Git技术文档

5.4.3第3步: 经理 提交到本地库并推送到远程develop分支

Git技术文档

上面点击 commit and Push 后,会弹出下面窗口,提示进行 push 到远程库

Git技术文档

 

在码云上 切换develop分支查看

Git技术文档

5.4.3第4步: 总监 拉取远程库develop分支代码到本地develop分支

Git技术文档

总监先在本地创建好develop分支 总监再进行远程库develop分支代码到本地develop分支

Git技术文档

5.4.4第5步: 总监 切换回主分支master(本地库)

Git技术文档

项目右键 → Git → Repository → Branches

Git技术文档

如下已经切换成功:

Git技术文档

5.4.5第6步: 总监 将本地develop合并到mater分支上 项目右键 → Git → Repository → Merge Changes...

Git技术文档

合并结果:

 

Git技术文档

 

5.4.6第7步: 总监 将合并后的master推送到远程库master

项目右键 → Git → Repository → push

Git技术文档

相关文章: