第一章:Git概述

1.1 官网的介绍:

Git的官网链接

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。
Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。

1.2 Git的工作机制:

在这里插入图片描述

1.3 Git 和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。

局域网:GitLab

互联网: GitHub (国外) 和 Gitee 码云 (国内)

第二章:Git 2.37.1 的安装教程

点击Next

在这里插入图片描述

Git选项配置。大家根据自己的需要勾选,选完后点击Next。

请添加图片描述

选择好编译器后,默认选择Vim编译器,点击Next。

在这里插入图片描述

选择好仓库的主干名字后,默认选择第一个,点击Next。

在这里插入图片描述

选择好环境变量后,推荐使用第二个,然后点击Next。

在这里插入图片描述

选择好后台客户端连接协议,默认是OpenSSL协议,然后点击Next。

注意:如果具有企业管理证书的组织中使用Git,就需要使用安全通道
在这里插入图片描述

配置Git文件的行末换行符,Windows使用CRLF,Linux使用LF,默认是选择第一个,然后选择好后,点击Next。

在这里插入图片描述

选择Git Bash终端,默认第一个,然后点击Next。

在这里插入图片描述

选择Git pull 合并的模式,选择默认模式,然后点击Next。

git pull 就是获取最新的远程仓库分支到本地,并与本地分支合并。
在这里插入图片描述

选择Git的凭证管理器,一般选择第一个,然后点击Next。

在这里插入图片描述

其他配置,默认情况是这两个选择都选择,然后点击Next。

在这里插入图片描述

配置实验室选项,一般这里都会有bug,不建议使用。然后点击Install。

在这里插入图片描述

点击Finish,Git安装成功

在这里插入图片描述

在桌面上单击右键,点击Git Bush Here。

在这里插入图片描述

然后输入 git --version 查看git版本

在这里插入图片描述

第三章: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 版本号版本穿梭

3.1 设置用户签名和用户邮箱

签名的作用: 为了区分不同操作者的身份。即用户的签名信息在每一个版本的提交信息中能够看到。
注意:
①:Git首次安装必须要设置一个用户签名,否则无法提交代码。
②:这里设置的用户签名和将来在代码托管中心的账号没有任何关系

git config --global user.name 用户名
git config --global user.email 邮箱

3.2 初始化本地库

语法:

git init

在这里插入图片描述

查看文件夹下有哪些文件的语法,此时查不到隐藏文件

ll

查看文件夹下有哪些隐藏文件的语法

ll -a

有时我们会发现文件夹中没有隐藏文件,那么就按照下面这种图片的步骤来走,完成后就会发现隐藏文件。

在这里插入图片描述

3.3 查看本地库状态

语法:

git status

在这里插入图片描述
On branch master查看当前的本地库在哪个分支中。git默认的分支是你安装的时候所选择的。
No commits yet当前没有提交过东西
nothing to commit (create/copy files and use “git add” to track) : 没有东西可以提交。

添加hello.txt文件
在这里插入图片描述

编写hello.txt文件的内容:
在这里插入图片描述
再次查看本地库的状态

我们会发现hello.txt文件是未追踪的文件,此时它在工作区
在这里插入图片描述

3.4 将工作区的文件添加到暂存区

语法:

git add 文件名

将工作区的文件添加到暂存区
注意:此时还没有生成历史版本
在这里插入图片描述

查看此时本地库的状态
hello.txt文件由红色变为绿色,发现暂存区有新的文件,此时已经追踪到了hello.txt文件
在这里插入图片描述

3.5 提交本地库

语法:

git commit -m "日志信息" 文件名

将暂存区的文件提交到本地库
在这里插入图片描述
查看此时本地库的状态
我们发现此时本地库并没有其他文件需要提交
在这里插入图片描述

3.6 查看文件内容

查看文件的所有内容的语法:

cat 文件名

在这里插入图片描述

查看文件的最后一行内容的语法

tail -n 1 文件名

在这里插入图片描述

3.7 修改文件

先输入 vim hello.txt,然后按回车。
在这里插入图片描述

会进入到之前编写的 hello.txt 的文本。
在这里插入图片描述

修改后的 hello…txt 的文本,然后保存文件并退出。
在这里插入图片描述

查看此时本地库的状态
发现有文件被修改
在这里插入图片描述

将修改后的文件添加到暂存区
在这里插入图片描述

查看本地库状态

将修改了的文件添加到了暂存区
在这里插入图片描述
将暂存区的文件提交到本地库
在这里插入图片描述

再次查看本地库的状态
此时已经没有再次要提交的文件了。
在这里插入图片描述

3.8 查看版本信息

语法:

git reflog 查看版本信息
git log 查看版本详细信息

注意: git reflog 的版本号是 git log 的前七位版本号。
在这里插入图片描述

3.9 版本穿梭

语法:

git reset --hard 版本号

我们切换回到第一次提交的版本

我们通过查看 git reflog 可以查看到每个版本的版本号
在这里插入图片描述

此时我们查看版本信息,我们换回到了第一次提交的版本
在这里插入图片描述

查看此时的hello.txt文件,发现内容发生了变化
在这里插入图片描述
注意: 其实Git切换版本,其底层就是移动HEAD指针。

3.10 删除暂存区的文件

语法:

git rm --cached 文件名

查看此时的文件正处于暂存区
在这里插入图片描述

删除暂存区的文件
注意:删除暂存区的文件并不是删除工作区的文件。
在这里插入图片描述

3.11 在文件夹中查看git当前处于哪个分支

他在当前的工作目录下的 .git文件下的HEAD文件,可以查看当前处于哪个分支,如下图,当前处于,master分支上。

在这里插入图片描述

3.12 在文件夹中查看当前处于哪个版本号

.git/refs/heads/master文件下,可以查看当前分支下的版本号。

第四章:分支的操作

注意:在写这块内容之前,我删除了之前的文件夹,但是内容都是一样的,只有版本号跟之前不一样。

命令名称作用
git branch 分支名创建分支
git branch -v查看分支
git checkout 分支切换分支
git merge 分支把指定的分支合并到当前分支上

4.1 查看分支

语法:

git branch -v

查询当前所在的分区
在这里插入图片描述

4.2 创建分支

语法:

git branch 分支名

创建完分支后查看分支
在这里插入图片描述

在master分支上修改 hello.txt 内容,我们会发现master分支上是最新的提交版本,而 hot-fix 并未做任何修改。
在这里插入图片描述

4.3 切换分支

语法:

git checkout 分支

我们会发现此时右下角的括号里已经换成了 hot-fix 分支
在这里插入图片描述

查看hot-fix分支上的 hello.txt文件
在这里插入图片描述

在 hot-fix 分支上修改 hello.txt文件,并且当前分支就是 hot-fix 分支
在这里插入图片描述

注意: 切换分支的本质就是移动 HEAD 指针
如果 HEAD 指向 master 分支,那么现在就在master分支上。
如果 HEAD 执行 hot-fix 分支,那么现在就在hot-fix分支上。

4.4 合并分支

语法:

git merge 分支名

在master分支上合并 hot-fix 分支

先换回到master分支
在这里插入图片描述
开始合并分支
在这里插入图片描述

4.5 产生冲突

冲突产生的表现括号后边有MERGING
在这里插入图片描述
冲突产生的原因

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。此时Git无法替我们决定使用哪一个。必须人为决定新的代码内容。

查看此时本地库的状态
在这里插入图片描述

4.6 解决冲突

使用 vim hello.txt 编辑hello.txt文件
在这里插入图片描述
编辑有冲突的文件删除特殊符号决定要使用的内容

特殊符号:

<<<<<<< HEAD 当前分支的代码  ======= 合并过来的代码 >>>>>>> hot-fix

编辑后的 hello.txt文件,并且将其保存
在这里插入图片描述

将保存后的hello.txt文件添加到存储区
在这里插入图片描述

提交本地库。(注意: 此时git commit 命令时不能带文件名
在这里插入图片描述

我们会发现下一行括号中的内容变为master。此时的 MERGING消失了,变为了正常。
在这里插入图片描述

GitHub&Gitee的操作及IDEA集成Gitee&GitHub

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐