Git知识点使用方法
2021-05-19 本文已影响0人
yaco
2021年5月19日——yaco
第一章 快速入门
1.1 什么是Git
Git是一个分布式的版本控制软件。
- Git是一个软件,类似于QQ、office、dota等安装到电脑上才能使用的工具‘
- 版本控制,类似于毕业论文、写文案、视频剪辑等,需要反复修改和保留原历史数据。
- 分布式
- 文件夹拷贝(最原始的多版本控制方法)
- 本地版本控制(在本地进行版本控制)
- 集中式版本控制(使用一台机器进行版本的集中管理,一旦集中管理的机器挂掉,则整个系统就会瘫痪)
- 分布式版本控制(每一台机器中都存储有多个版本,一台机器=挂掉之后,并不会影响整个系统工作)
1.2 为什么要做版本控制
一个软件项目往往会有多个版本,版本之间的切换更改是经常发生的事,因此必须进行项目版本控制,方便进行回滚和修改
1.3 安装Git
详见:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git
第二章 Git实战教程
2.1 第一阶段: 保证Git可以成功管理项目目录
想让git对一个目录进行版本控制需要以下步骤:
-
进入要管理的文件夹
-
执行初始化命令
git init
-
管理目录下的文件状态
git status 注:新增的文件和修改后的文件都是红色的
-
管理指定文件(红变绿)
git add 文件名 (添加单个文件进行git的管理) git add . (将当前目录下所有没有被管理文件加入git管理)
-
个人信息配置:用户名、邮箱(一次即可,往往在git第一次使用的时候需要配置)
git commit -m '描述信息'
-
查看版本记录
git log
2.2 第二阶段:扩展新的功能
- 首先新增了一个文件index.txt,加入版本控制v1
![](https://img.haomeiwen.com/i20782304/45af418ad4bcaccb.png)
- 向index.txt文件中写入一句话,生成新的版本v2
![](https://img.haomeiwen.com/i20782304/4f1206372d4ba1d1.png)
- 以同样的方式生成版本3,最终会形成三个版本,v1为空文件,v2写了一句话,v3写了两句话
![](https://img.haomeiwen.com/i20782304/9d46f6331a25ef28.png)
2.3 第三阶段: 多版本回滚的使用方法
-
当前所在的版本为v3,如果想要回滚到v2的操作
git log (查看v2版本号对应的hash值) git reset --hard 版本号
image-20210423182151265
-
从当前版本回滚到之前的版本,可以发现git log少了v3,可以使用git reflog查看
-
当前所在版本为v2,现在计划从版本v2跳回v3
git reflog --查看当前版本之后的版本记录 git reset --hard 版本号
-
image-20210423182426277
2.4 阶段性总结一
git init 初始化项目目录,使git介入管理
git add 将新建的文件或者修改后的文件加入git的管理范围,使文件名由红色变为绿色
git commit 提交归档为一个新的版本
git log 查看版本日志
git reflog 查看历史版本日志,包括当前版本之后的版本
git reset --hard 版本号
![](https://img.haomeiwen.com/i20782304/e2df51af8844eacb.png)
2.5 第四阶段:版本控制中存在的分支现象
2.5.1 分支
分支可以给使用者提供多个开发环境,意味着你可以把工作从开发主线上分离开来,以免影响开发主线。
2.5.2 紧急修复bug方案
![](https://img.haomeiwen.com/i20782304/6d0f03092069edac.png)
2.5.3 命令总结
-
查看分支
git branch
-
创建分支
git branch 分支名
-
切换分支
git checkout 分支名
-
分支合并
git merge 要合并的分支 注意:切换分支主分支之后再合并
-
删除分支
git branch -d 分支名
2.5.4 工作流
![](https://img.haomeiwen.com/i20782304/43714dfda218f066.png)
![](https://img.haomeiwen.com/i20782304/836111fbce61816b.png)
![](https://img.haomeiwen.com/i20782304/cbcf0a93a275858b.png)
![](https://img.haomeiwen.com/i20782304/422b1bd4fbb2b6f7.png)
![](https://img.haomeiwen.com/i20782304/e82d868e651526c8.png)
![](https://img.haomeiwen.com/i20782304/709f4623c3714018.png)
![](https://img.haomeiwen.com/i20782304/7c65e8b7caacb27d.png)
![](https://img.haomeiwen.com/i20782304/dd13e29b0378e234.png)
![](https://img.haomeiwen.com/i20782304/955a36353f82f276.png)
![](https://img.haomeiwen.com/i20782304/7d583558d5aeffff.png)
![](https://img.haomeiwen.com/i20782304/a453f7b20dc765ab.png)
![](https://img.haomeiwen.com/i20782304/b279f060dc85f5ee.png)
2.6 使用GitHub进行不同机器上工作文件灵活切换
如何在公司和家中进行工作代码的灵活切换,随时随地都可以快乐的敲代码尼?
![](https://img.haomeiwen.com/i20782304/bf6445780d0a55c3.png)
2.6.1 配置好Github环境,公司开发并提交至远程仓库
- 首先,需要注册github账号,并创建远程仓库
![](https://img.haomeiwen.com/i20782304/1f04540ed6dd49d5.png)
- 填上关键信息即可
![](https://img.haomeiwen.com/i20782304/f09114872997c176.png)
- 生成仓库路径
![](https://img.haomeiwen.com/i20782304/998992c697b5b7be.png)
-
首先使用git bash here给远程仓库起别名
git remote add gitstudy https://github.com/codeyc-azc/Yaco_gitstudy.git
-
然后向远程推送代码
git push -u gitstudy 分支名 注意:这里的-u可以省略
-
首次推送需要用户名和密码
![](https://img.haomeiwen.com/i20782304/7158eb17ecdefb9d.png)
![](https://img.haomeiwen.com/i20782304/722593da51bf430b.png)
![](https://img.haomeiwen.com/i20782304/20e6715404ba0551.png)
![](https://img.haomeiwen.com/i20782304/7dbac6602df03377.png)
![](https://img.haomeiwen.com/i20782304/eea80402e5f089b0.png)
![](https://img.haomeiwen.com/i20782304/958a9ff7099a63ed.png)
![](https://img.haomeiwen.com/i20782304/f5d12e3418301481.png)
2.6.2 回家继续开发
-
首先从github上,将公司上传的代码克隆下来到本地
git clone 远程仓库地址(内部已实现git remote add gitstudy 远程仓库地址)
image-20210424095353373
![](https://img.haomeiwen.com/i20782304/8648963086d5caea.png)
![](https://img.haomeiwen.com/i20782304/258158ae18f4ea70.png)
![](https://img.haomeiwen.com/i20782304/a7ddba9083498553.png)
![](https://img.haomeiwen.com/i20782304/f68de74bbc5423b5.png)
2.6.3 回公司继续操作
![](https://img.haomeiwen.com/i20782304/16c975c6ba07f1dd.png)
2.6.4 工作示意图
![](https://img.haomeiwen.com/i20782304/6949c20be66a4a86.png)
2.7 阶段性总结二
-
添加远程链接(别名)
git remote add 别名 仓库地址
-
推送代码
git push 仓库别名 分支名
-
下载代码
git clone 仓库地址
-
拉取代码
git pull 仓库别名 分支名
-
保持代码提交整洁(变基)
git rebase 分支名
-
记录图形展示
git log --graph --pretty= format:"%h %s"