首页 > 开发工具 > git > 正文

案例加解析!带你总结Git常用操作命令

WBOY
发布: 2022-03-23 19:39:59
转载
2080人浏览过

本篇文章给大家带来了关于git的相关知识,其中主要通过案例加解析给大家总结了git常用的操作命令,git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,希望对大家有帮助。

案例加解析!带你总结Git常用操作命令

推荐学习:《Git教程

一、Git 概念

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,是目前最流行的一个版本管理工具。

二、SVN与Git的最主要的区别

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

三、Windows 上安装 Git

最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。

1. 下载Git

要使用Git,第一步当然是安装Git了。从 https://git-for-windows.github.io下载(网速慢的请移步国内镜像),然后按默认选项安装即可。

2. 安装步骤

下载完成后,打开进行安装(按照下图进行配置)。
在这里插入图片描述

3. 安装成功

接下来就只需要静静的等待安装完成了,完成以后在桌面或者任意文件夹的空白位置右键,出现下图所示的两个菜单栏即表示安装成功。

在这里插入图片描述

4. 设置

安装完之后会弹出一个命令框,我们还需要做最后一步操作,设置标识符。由于 git 是分布式管理工具,所以需要设置用户名和邮箱作为标识。在弹出框中输入下面代码即可。

git config --global user.name "Your Name"git config --global user.email "email@example.com"
登录后复制

注意git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

四、GIt 常用命令解析

1. 初始化

对 Git 进行操作之前你得先创建一个 Git 仓库,在你需要的位置创建一个空文件夹即可。然后进入该文件夹,然后右击空白处,点击 Git Bash Here 对当前文件夹进行 Git 的操作。
在这里插入图片描述
在这里插入图片描述

  • 初始化命令
git init
登录后复制
  • 常用命令
cd:进入某个目录
mkdir:创建一个文件
pwd:显示当前的目录路径
鼠标选中就是复制,粘贴可以右键粘贴,也可以用使用快捷键:Shift+INS
登录后复制

2. 添加文件到版本库

2.1 添加到暂存区

  1. 在根目录新建了一个 a.txt 文件,内容为 aaa;
  2. 使用下面命令把 a.txt 文件添加到暂存区
  • 添加到暂存区命令
git add a.txt
登录后复制

在这里插入图片描述

  • 添加当前根目录下的所有文件到暂存区
git add .
登录后复制

2.2 提交到仓库

  1. 使用下面命令把暂存区的文件提交到版本库
git commit -m "双引号里面是注释——你的提交说明"
登录后复制

在这里插入图片描述

2.3 为什么 Git 添加文件需要 add、commit 两个步骤呢?

原因commit可以一次提交很多文件,所以你可以多次add不同的文件

例如

git add file1.txt					
#单个添加文件到暂存区git add file2.txt file3.txt			
#多个添加文件到暂存区git add .   						
#添加当前文件夹下所有文件到暂存区git commit -m "add 3 files."		
#提交所有暂存区的文件
登录后复制

3 查看文件状态(检查是否有未提交文件)

3.1 状态一

使用下面命令检查当前文件状态

git status
登录后复制

在这里插入图片描述
结果:没有需要提交的文件了;

3.2 状态二

创建一个新的文件 b.txt,内容为 bbb,再来检查文件状态
在这里插入图片描述
结果存在未跟踪文件没有添加到暂存区和提交到版本库;

3.3 状态三

添加 b.txt 到暂存区之后,再来检查文件状态
在这里插入图片描述
结果暂存区中有一个新的 b.txt 文件没有添加到版本库中;

3.4 状态四

提交 b.txt 到版本库之后,然后把 b.txt 内容从 bbb 修改为 bbba,再来检查文件状态
在这里插入图片描述
结果被改变的文件 b.txt 没有添加到暂存区且没有提交

4. 查看提交历史

4.1 先把前面修改的 b.txt 文件添加并提交

git add b.txtgit commit -m "提交修改的 b.txt 文件"
登录后复制

在这里插入图片描述

4.2 查看历史

  1. 到目前为止我们一共进行了3次操作,提交 a 和 b,以及修改 b,查看历史命令如下
git log
登录后复制

在这里插入图片描述
注意使用上面命令信息多的话会进入 log 模式,想要退出,在英文输入法的前提下按 q 就可以退出了

  1. 如上图所示,每次提交都有版本号,时间等信息,这样看起来比较乱,出现的信息太多,看的眼花,我们可以使用下面命令得到精简版的日志记录,让历史记录一行显示
git log --pretty=oneline
登录后复制

在这里插入图片描述

  1. 可以对想要查看的历史日志进行约束,比如想看最近提交的一条历史日志信息
git log -1
登录后复制

在这里插入图片描述

4.3 查看提交历史命令总结

git log						
#查看全部历史提交记录git log --pretty=oneline	#精简显示所有历史提交记录git reflog					
#可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)git log -p					
#查看全部提交历史并展示每次修改的内容git log -2					
#查看最近2次提交历史(注意:后面的数字是可以自定义的,也就是说,这种写法是 git log -n 的体现)git log -p -2				
#查看最近2次提交历史并展示修改的内容git log --stat				
#查看提交历史,并展示摘要内容(摘要会列出修改的文件以及每个文件中修改了多少行)
登录后复制

5. 版本回退与恢复

5.1 回退到上一个版本或上几个版本

  1. 首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
git reset --hard HEAD^
登录后复制

在这里插入图片描述

  1. 查看回退后的历史版本信息
    在这里插入图片描述
    结果从历史版本信息我们可以看出,我们已经从 “修改 b.txt” 回退到了 “提交 b.txt”,回退之后的当前版本为 “提交 b.txt”

5.2 回退到指定版本

  1. 我们直接复制想要回退位置的版本号,使用下面代码就可以回退到复制的版本号的位置了
git reset --hard <想要回退的版本号>
登录后复制
  1. 例如:我复制 “提交 a.txt 文件” 的版本号
git reset --hard 6ec9373d22d1a869b67681a39dc04df34292133b
登录后复制

在这里插入图片描述
结果从查看的历史版本结果可以看出我们回退到了 “提交 a.txt” 版本

5.3 恢复回退的版本

  1. 有时候我们回退了版本后反悔了,想要返回到回退版本之前,这时我们就需要找到之前的 commit id,但是从上面的查看历史版本命令可以看出,我们找不到之前的 commit id 了,于是我们可以使用下面命令
git reflog
登录后复制

在这里插入图片描述

结果reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

BibiGPT-哔哔终结者
BibiGPT-哔哔终结者

B站视频总结器-一键总结 音视频内容

BibiGPT-哔哔终结者 28
查看详情 BibiGPT-哔哔终结者
  1. 假设我们想回退到 “提交修改的 b.txt 文件” 的位置上,也就是历史版本信息的倒数第三行,我们只需要复制 HEAD 前面的 7a42e7b,然后使用下面命令就可以了
git reset --hard 7a42e7b
登录后复制

在这里插入图片描述

结果历史版本信息可以看出我们已经回退到了我们想要的版本

6. 查看不同版本的差异

  1. 当我们们修改完代码之后没有添加到暂存区提交,第二天我们忘记了昨天改了什么代码,这是我们就可以按下面步骤来看不同版本之间的差异;

例如:我们把 b.txt 文件内容修改为为 bbbaaa,然后用下面代码查看,可以看出我们修改了什么

git diff		# 查看不同版本之间的文件差异
登录后复制

在这里插入图片描述

7. 修改与撤销

7.1 修改文件

推荐使用:第一次修改 -> git add -> 第二次修改 -> git add -> git commit

注意建议每次 commit 之前先检查是否有文件没有被 add

7.2 撤销修改

git checkout -- filename
登录后复制

git checkout -- filename可以丢弃工作区的修改:– 后面是一个空格

命令 git checkout -- readme.txt 意思就是,把 readme.txt 文件在工作区的修改全部撤销,这里有两种情况:
一:readme.txt 自修改后还没有被放到暂存区(git add),现在,撤销修改就回到和版本库一模一样的状态;
二:readme.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次 git commitgit add 时的状态。

注意git checkout -- file 命令中的 -- 很重要,没有 -- ,就变成了**“切换到另一个分支”**的命令,我们在后面的分支管理中会再次遇到 git checkout 命令

8. 删除文件/缓存

8.1 使用 rm 命令删除文件

通常直接在文件管理器中把没用的文件删了,或者用rm命令删除,例如:删除 b.txt

git rm b.txt
登录后复制

删除步骤

  • rm 删除文件
  • rm 删除后会自动添加到暂存区,省略了手动 add 命令
  • 最后进行 commit 提交,文件被删除
    在这里插入图片描述
    注意删除步骤可以通过 reset 撤销操作撤回

8.2 删除缓存区

git rm b.txt --cached
登录后复制

b.txt 处于未跟踪状态,也就是从暂存区删除。

特别说明处于未跟踪状态只是没有存在于暂存区,历史提交记录中的记录依然存在。

8.3 清空缓存

所谓的暂存区仅仅是.git目录下的一个index文件罢了,这也是为了什么被称为index(索引),当删除暂存区内容的时候,其实就是删除index文件中的内容,.git/objects目录中的内容不会被删除。

rm .git/index
登录后复制

9. 分支管理

9.1 分支操作命令

git branch						
#查看分支 git branch <name>				
#创建分支git checkout <name>				
#切换分支git checkout -b <name>			
#创建 + 切换分支git merge <name>				
#将某分支合并到当前分支git branch -d <name>			
#删除分支
登录后复制

在这里插入图片描述

9.2 开发流程图

在这里插入图片描述

五、Git 命令整合

1. 设置全局用户名和邮箱

命令 作用
git config --global user.name “Your Name” 设置用户名
git config --global user.email “email@example.com” 设置邮箱

2. 初始化命令

命令 作用
git init 初始化 git,创建 .git 文件

3. 常用命令

命令 作用
cd 进入某个目录
mkdir 创建一个文件
pwd 显示当前的目录路径
鼠标选中就是复制 复制
直接鼠标右键粘贴 / 快捷键:Shift+INS 粘贴

4. 添加到暂存区

命令 作用
git add a.txt 添加 a.txt 到暂存区
git add . 添加当前根目录下的所有文件到暂存区
git commit -m “双引号里面是注释——你的提交说明” 把暂存区的文件提交到版本库(一次全部提交)

5. 查看文件状态

命令 作用
git status 查看文件状态(检查是否有未提交文件)

6. 查看提交历史

命令 作用
git log 查看全部历史提交记录
git log --pretty=oneline 精简显示所有历史提交记录
git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git log -p 查看全部提交历史并展示每次修改的内容
git log -2 查看最近2次提交历史(注意:后面的数字是可以自定义的,也就是说,这种写法是 git log -n 的体现)
git log -p -2 查看最近2次提交历史并展示修改的内容
git log --stat 查看提交历史,并展示摘要内容(摘要会列出修改的文件以及每个文件中修改了多少行)

7. 版本回退与恢复

命令 作用
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD~N(不是-,是波浪线) 回退到上N个版本
git reset --hard <想要回退的版本号> 回退到指定版本
git reflog 和 git reset --hard <想要回退的版本号>合并使用 恢复回退的版本

8. 查看不同版本的差异

命令 作用
git diff 查看不同版本之间的文件差异

9. 撤销修改

命令 作用
git checkout – b.txt 一:readme.txt 自修改后还没有被放到暂存区(git add),现在,撤销修改就回到和版本库一模一样的状态;
二:readme.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

10. 删除

命令 作用
git rm b.txt rm 删除文件
rm 删除后会自动添加到暂存区,省略了手动 add 命令
最后进行 commit 提交,文件被删除
git rm b.txt --cached 删除缓存区单个文件,b.txt 处于未跟踪状态,也就是从暂存区删除
rm .git/index 清空所有缓存

11. 分支管理

命令 作用
git branch 查看分支
git branch 创建分支
git checkout 切换分支
git checkout -b 创建 + 切换到新分支
git merge 将某分支合并到当前分支
git branch -d 删除分支

推荐学习:《Git学习教程

以上就是案例加解析!带你总结Git常用操作命令的详细内容,更多请关注php中文网其它相关文章!

相关标签:
git
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:CSDN网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号