版本管理工具GIT篇

版本管理工具GIT

一、版本管理工具干什么用的?

i. 备份文件 作用同U盘 网盘

1. 保存每天的成果   若是本地文件丢失 损坏  找备份

2.  打游戏时候的存档

 

ii. 记录历史

1. 网盘 U盘存储的是文件最新状态  历史操作没有  

2. 作用同 history命令 找到历史操作的版本  记录 修改时间 修改内容等(提交时候的备注)

 

iii. 回滚到历史版本

1. 若是当前提交了不想要的操作  可以找到历史版本 把状态恢复到之前操作过的任意历史的状态

 

iv. 托管文件可以多端共享

1. 效果类似于 icloud云备份  可以在不同的设备上 拿到相同的文件

2. 场景一在公司提交了代码之后  回到家 登陆自己的账户  pull 到本地

3. 管理员创建仓库 搭建好项目环境之后 团队成员 pull到自己的设备  共同开发  

 

二、版本管理工具发展历史

 版本管理工具GIT篇_第1张图片

三、GIT下载和安装

i. 安装GIT环境---windows

1. 下载客户端 https://desktop.github.com/  

 

2. 安装

 版本管理工具GIT篇_第2张图片

ii. 安装GIT环境---Linux

1. CentOS下  软件包管理器

 版本管理工具GIT篇_第3张图片

 版本管理工具GIT篇_第4张图片

2. git --help 查看帮助

 版本管理工具GIT篇_第5张图片

3. untu下安装 同理 apt-get -update 更新源   apt-get install git 安装git

版本管理工具GIT篇_第6张图片

 

4. Git --help查看帮助  

 

 版本管理工具GIT篇_第7张图片

 

四、注册账户

i. 登录官网

 版本管理工具GIT篇_第8张图片

ii. 注册

 版本管理工具GIT篇_第9张图片

iii. 选择套餐

 

iv. 发送验证邮件

 版本管理工具GIT篇_第10张图片版本管理工具GIT篇_第11张图片

v. 登录帐号  看到自己的项目

 版本管理工具GIT篇_第12张图片

五、新建一个项目

i. 注意点

 版本管理工具GIT篇_第13张图片

ii. 创建完成

 版本管理工具GIT篇_第14张图片

六、Linux下检出项目到本地

i. Clone or download

 版本管理工具GIT篇_第15张图片

ii. 克隆到本地

 版本管理工具GIT篇_第16张图片

iii. 检出到本地之后  可以在本地工作区 开发 提交...

七、Linux环境下第一次提交项目  

i. 工作区修改文件 wq保存退出

 版本管理工具GIT篇_第17张图片

ii. git status 查看工作区状态

 版本管理工具GIT篇_第18张图片

iii. git add 对文件建立 跟踪  查看状态

 版本管理工具GIT篇_第19张图片

iv. git commit 提交

 版本管理工具GIT篇_第20张图片

v.  提交之后  git status查看工作区状态   (目前只是在本地工作区的操作 还未提交到github)

 

vi. git push到 远程github

 版本管理工具GIT篇_第21张图片

vii. 登录github查看   推送成功

 版本管理工具GIT篇_第22张图片

八、windows环境下检出项目和提交项目

i. 安装好本地客户端之后  登录 本地客户端  github

版本管理工具GIT篇_第23张图片 

ii. 选择本地工作区目录

 版本管理工具GIT篇_第24张图片

iii. 克隆到本地之后

 版本管理工具GIT篇_第25张图片

iv. 在本地 编辑器打开文件

 版本管理工具GIT篇_第26张图片

v. 本地新建文件  编辑

 

 版本管理工具GIT篇_第27张图片

 版本管理工具GIT篇_第28张图片

vi. 本地工作区修改文件  提交 同步

 版本管理工具GIT篇_第29张图片

vii. 同步到github

 版本管理工具GIT篇_第30张图片


版本管理工具GIT篇_第31张图片 

九、关于代码冲突

i. 解决冲突 团队合作 代码冲突 工具无法判断 取舍

1. Linux下如何解决冲突

 版本管理工具GIT篇_第32张图片

 

a) git pull 把最新的代码拉下来 合并冲突

 版本管理工具GIT篇_第33张图片

b) git status 查看当前工作区状态

 版本管理工具GIT篇_第34张图片

 

c) 查看变更记录 git diff

 版本管理工具GIT篇_第35张图片

d) 打开冲突文件  人为解决冲突  

 版本管理工具GIT篇_第36张图片

e) 本地工作区解决完冲突之后     git status   git add  git commit       git push  推送到github

f) 如果有后续操作  本地工作区 需要先将git pull 将远程上的最新的文件拉到本地 再进行后续操作

 

2. Windows下如何解决冲突?

a) windows下冲突

 版本管理工具GIT篇_第37张图片

b) 本地编辑器打开冲突文件  先手动解决冲突

 版本管理工具GIT篇_第38张图片

c) 同步

 版本管理工具GIT篇_第39张图片

或者是

 版本管理工具GIT篇_第40张图片

 

十、回滚到历史版本

a) 场景:新老同事 最新版本的代码如果修复的话代价太大  直接恢复到之前的版本

b) 回滚

i. git log 查看文件历史提交

 版本管理工具GIT篇_第41张图片

ii. 需要回滚到哪个时间点  复制commit id  git reset --hard commit id

 

hard:是当前版本的指针 这个指针指向哪个时间点的 commit id 就相当于代码回退到那个时间点的状态

iii. git reflog 列出当前版本之前的所有版本号

 

iv. 还原到最新版本

 

十一、建立里程碑  (软件上的版本号)

i. 里程碑:软件上的版本号 每一个版本号表示一段开发的完结 以及下一阶段工作的开始 软件发布之后 会带着对应的版本号

ii. 建立里程碑 方便于把一个完整的软件发布出去 也方便于快速的定位某一个版本的某个问题

1. 登录github

 版本管理工具GIT篇_第42张图片


版本管理工具GIT篇_第43张图片

2. 后期维护的时候 找到对应的版本 可以下载源码 可以回退等等

十二、分支开发之分支合并

i. 应用场景:新反馈了一个bug但是当前master()分支已经推送了新的功能的代码 于是呢  就不能在主分支发布 有可能把没测试过的代码带到外面去 创建新的分支 以已经发布的代码为基础修复bug 修复之后 再合并分支

ii. 创建新的分支 当前工作区切换到分支

 版本管理工具GIT篇_第44张图片

iii. merge 合并分支

 

 版本管理工具GIT篇_第45张图片

 版本管理工具GIT篇_第46张图片

版本管理工具GIT篇_第47张图片

十三、分支开发之分支合并

 

十四、关于多人合作

i. 多用客户端和工具 少用命令行 除非是在Linux服务器上直接开发

ii. 每次提交前 diff自己的代码 以免提交错误的代码

iii. 下班回家前 整理好自己的工作区(哪些代码是必须的  哪些是调试代码等等)

iv. 并行的项目  使用分支开发

v. 遇到冲突的时候  搞明白冲突的原因 千万不要随意的丢弃别人的代码

vi. 产品发布之后 记得打tag 方便将来拉分支修bug

 

 

 

 

 

你可能感兴趣的:(版本管理工具GIT篇)