主要内容:熟练掌握Git、GitHub、GitLab、Gitee码云的使用
文章目录
- 1.Git概述
- 1.1版本控制
- 1.2版本控制工具
- 1.3Git和代码托管中心
- 2.Git常用命令
- 2.1设置用户签名
- 2.2初始化本地库
- 2.3查看本地库状态
- 2.3.1首次查看
- 2.3.2新增文件
- 2.3.3再次查看
- 2.4添加暂存区
- 2.4.1将工作区文件添加到暂存区
- 2.4.2查看状态(检测到暂存区有新文件)
- 2.5提交本地库
- 2.5.1将暂存区的文件提交到本地库
- 2.5.2查看状态(没有文件需要提交了)
- 2.6修改文件
- 2.6.1查看状态(检测到文件被修改)
- 2.6.2将修改后的文件提交到暂存区
- 2.7历史版本
- 2.7.1查看历史版本
- 2.7.2版本穿梭
- 3.Git分支操作
- 3.1分支的概念
- 3.2分支操作
- 3.3合并分支(冲突合并)
- 持续更新中......
1.Git概述
- Git是个免费的、开源的分布式版本控制系统
1.1版本控制
-
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统
-
版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换
1.2版本控制工具
- 集中式版本控制工具:CVS、SVN、VSS…
- 程序员修改代码之后要上传到中央服务器,另外一名程序员才能再中央服务器将代码下载下来修改
- 缺点:当中央服务器宕机单点故障,则在故障期间谁都无法提交更新,也无法协同工作
- 分布式版本控制工具:Git、Mercurial、Bazaar
- 可以在自己的电脑上做版本的控制,会有一个远程库,让不同的程序员协同工作,当远程库宕机或者故障,只是不能提交更新,但是还是可以在自己的电脑上做版本控制
1.3Git和代码托管中心
- 代码托管中心是基于网络服务器的远程仓库,一般简称为远程库
- 局域网:GitLab
- 互联网:GitHub(外网)、Gitee码云(国内网站)
2.Git常用命令
命令名称 | 作用 |
---|---|
git config --global user.name 用户名 | 设置用户签名 |
git config --global user.email 邮箱 | 设置用户签名 |
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git commit -m “日志信息” 文件名 | 提交到本地库 |
git reflog | 查看历史记录 |
git reset --hard 版本号 | 版本穿梭 |
2.1设置用户签名
- 首次使用Git一定要在Git Bash窗口设置用户签名:
git config --global user.name 用户名
git config --global user.email 邮箱
2.2初始化本地库
-
语法:
git init
-
示例:
要想让git可以操作gitdemo这个文件夹,则要在当前文件夹下先进行初始化
可以使用ll -a查看被隐藏的.git文件,如果有.git文件说明初始化成功
2.3查看本地库状态
2.3.1首次查看
-
语法:
git status
-
示例:
可以看到目前没有提交过东西,也没有东西可以提交。
2.3.2新增文件
- 新增一个hello.txt文件
- 进入到vim模式之后,按"i"进入插入模式,可以编辑代码
- 编辑完之后按esc退出插入模式
- 按shift+;后再按wq,回车,保存并退出vim模式
- 输入ll命令查看是否新增文件
2.3.3再次查看
-
语法:
git status
-
再次查看:
发现有hello.txt文件显示
2.4添加暂存区
2.4.1将工作区文件添加到暂存区
1.语法:
git add 文件名字
2.操作如下:(有警告不用管)
2.4.2查看状态(检测到暂存区有新文件)
- 文件呈现绿色说明已经上传到暂存区,想删掉则用git rm --cached 文件名
- 在暂存区删掉在工作区依旧存在
2.5提交本地库
2.5.1将暂存区的文件提交到本地库
1.基本语法:
git commit -m “日志信息” 文件名
2.示例:
3.通过查看日志来查看版本:
2.5.2查看状态(没有文件需要提交了)
2.6修改文件
1.修改文件:vim hello.txt,再按i修改文件即可。
2.6.1查看状态(检测到文件被修改)
2.6.2将修改后的文件提交到暂存区
- 再次查看状态,就能发现文件名字变回绿色了。
- 再次进行提交
2.7历史版本
2.7.1查看历史版本
1.基本语法:
git reflog 查看版本信息
git log 查看版本详细信息
2.示例:
2.7.2版本穿梭
1.基本语法:
git reset --hard 七位的版本号
2.示例:
3.Git分支操作
3.1分支的概念
在版本控制过程中,同时推进多个任务,我们就为每个任务创建一个分支,使用分支意味着程序员可以把自己的工作从开发的主线上分离开来,开发自己分支的时候不会影响主线的工作。
3.2分支操作
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定的分支合并到当前分支上 |
1.查看分支
2.创建分支
3.切换分支
4.合并分支(如果当所合并的分支有对原分支的文件进行修改,合并之后会显示修改后的内容)
3.3合并分支(冲突合并)
产生冲突的原因:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,Git无法代替我们使用哪个,便会产生冲突,此时必须人为的决定新代码内容:
- 先切换到hot-fix分支中将hello.txt文件进行修改如下:
- 再将修改好之后的文通过指令git add hello.txt添加到暂存区,然后使用git commit -m “hot-fix second” hello.txt提交日志
- 再切换回master分支,对hello.txt中的系统位置的内容进行修改,并且提交到暂存区,使用git commit -m “master second” hello.txt提交日志
- 便会出现报错如下,并且文件会将冲突的部分显现出来:
- 手动修改完之后再对文件进行上传到暂存区,再提交日志(记得不用带文件名)即可