【Git】一张脑图带你掌握Git命令

脑图

在这里插入图片描述
一图解天下👇

首先我们的了解Git通常的操作流程,网上流行的不错一张图👇

在这里插入图片描述

基本概念

在这里插入图片描述
基于上面的图,我们就有接下来一些概念👇

版本库👉.git

  • 当我们使用git管理文件时,比如git init时,这个时候,会多一个.git文件,我们把这个文件称之为版本库。.git文件另外一个作用就是它在创建的时候,会自动创建master分支,并且将HEAD指针指向master分支。

工作区

  • 本地项目存放文件的位置,可以理解成图上的workspace

暂存区 (Index/Stage)

  • 顾名思义就是暂时存放文件的地方,通过是通过add命令将工作区的文件添加到缓冲区

本地仓库(Repository)

  • 通常情况下,我们使用commit命令可以将暂存区的文件添加到本地仓库
  • 通常而言,HEAD指针指向的就是master分支

远程仓库(Remote)

  • 举个例子,当我们使用GitHub托管我们项目时,它就是一个远程仓库。通常我们使用clone命令将远程仓库代码拷贝下来,本地代码更新后,通过push托送给远程仓库。

Git文件状态

通常我们需要查看一个文件的状态

git status

Changes not staged for commit

  • 表示得大概就是工作区有该内容,但是缓存区没有,需要我们git add

Changes to be committed

  • 一般而言,这个时候,文件放在缓存区了,我们需要git commit

nothing to commit, working tree clean

  • 这个时候,我们将本地的代码推送到远端即可

常见命令

git配置命令

在这里插入图片描述
列出当前配置

git config --list

列出Repository配置

git config --local --list

列出全局配置

git config --global --list

列出系统配置

git config --system --list

通过上述的命令,发现你并没有配置用户信息的话,接下来配置一下👇

配置用户名

git config --global user.name “your name”

配置用户邮箱

git config --global user.email “youremail@github.com”

分支管理

在这里插入图片描述
查看本地分支

git branch

查看远程分支

git branch -r

查看本地和远程分支

git branch -a

从当前分支,切换到其他分支

git checkout <branch-name>
// 举个例子
git checkout feature/tiantian

创建并切换到新建分支

git checkout -b <branch-name>
// 举个例子👇
git checkout -b feature/tiantian

删除分支

git branch -d <branch-name>
// 举个例子👇
git branch -d feature/tiantian

当前分支与指定分支合并

git merge <branch-name>
// 举个例子👇
git merge feature/tiantian

查看哪些分支已经合并到当前分支

git branch --merged

查看哪些分支没有合并到当前分支

git branch --no-merged

查看各个分支最后一个提交对象的信息

git branch -v

删除远程分支

git push origin -d <branch-name>

重命名分支

git branch -m <oldbranch-name> <newbranch-name>

拉取远程分支并创建本地分支

git checkout -b 本地分支名x origin/远程分支名x
另外一种方式,也可以完成这个操作。
git fetch origin <branch-name>:<local-branch-name>

fetch指令

在这里插入图片描述

我理解的就是将远程仓库内容更新到本地

具体是这样子的👇

fetch推荐写法

git fetch origin <branch-name>:<local-branch-name>

  • 一般而言,这个origin是远程主机名,一般默认就是origin
  • branch-name 你要拉取的分支
  • local-branch-name 通常而言,就是你本地新建一个新分支,将origin下的某个分支代码下载到本地分支

举个例子👇

git fetch origin feature/template_excellent:feature/template_layout
// 你的工作目录下,就会有feature/template_layout
// 一般情况下,我们需要做的就是在这个分支上开发新需求
// 完成代码后,我们需要做的就是上传我们的分支

fetch其他写法

将某个远程主机的更新,全部取回本地。

git fetch <远程主机名>

这样子的话,取回的是所有的分支更新,如果想取回特定分支,可以指定分支名👇

git fetch <远程主机名> <分支名>

当你想将某个分支的内容取回到本地下某个分支的话,如下👇

git fetch origin :<local-branch-name>
// 等价于👇
git fetch origin master:<local-branch-name>

花式撤销

在这里插入图片描述
撤销「工作区」修改

git checkout –

暂存区文件撤销 (不覆盖工作区)

git reset HEAD

版本回退

git reset --(soft | mixed | hard ) < HEAD ~(num) > |

在这里插入图片描述

工作区命令

状态查询

查看状态

  • git status

查看历史操作记录

  • git reflog

查看日志

  • git log

文档查询

展示Git命令大纲

  • git help (–help)

展示Git命令大纲全部列表

  • git help -a

展示具体命令说明手册

  • git help

文件暂存

在这里插入图片描述
添加改动到stash

  • git stash save -a “message”

删除暂存

  • git stash drop <stash@{ID}>

查看stash列表

  • git stash list

删除全部缓存

  • git stash clear

恢复改动

  • git stash pop <stash@{ID}>

差异比较

在这里插入图片描述
比较工作区与缓存区

  • git diff

比较缓存区与本地库最近一次commit内容

  • git diff – cached

比较工作区与本地最近一次commit内容

  • git diff HEAD

比较两个commit之间差异

  • git diff

分支命名

在这里插入图片描述
「master分支」

  • 主分支,用于部署生产环境的分支,确保稳定性。 master分支一般由develop以及hotfix分支合并,任何情况下都不能直接修改代码。

「develop 分支」

  • develop为开发分支,通常情况下,保存最新完成以及bug修复后的代码。开发新功能时,feature分支都是基于develop分支下创建的。

「feature分支」

  • 开发新功能,基本上以develop为基础创建feature分支。 分支命名:feature/ 开头的为特性分支, 命名规则:feature/user_module、 feature/cart_module。

「release分支」

  • release 为预上线分支,发布提测阶段,会release分支代码为基准提测。

「hotfix分支」

  • 分支命名:hotfix/ 开头的为修复分支,它的命名规则与 feature分支类似。线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支,修复完成后,需要合并到master分支和develop分支。

基本操作

有了上述的基本了解后,那么我们就来看看整体的一个流程吧。

创建本地仓库 git init

  • git init

链接本地仓库与远端仓库

  • git remote add origin origin默认是远端仓库别名 url 可以是「可以使用https或者ssh的方式新建」

检查配置信息

  • git config --list

Git user name 与email

  • git config --global user.name “yourname”
  • git config --global user.email “your_email”

生成SSH密钥

  • ssh-keygen -t rsa -C “这里换上你的邮箱”
  • cd ~/.ssh 里面有一个文件名为id_rsa.pub,把里面的内容复制到git库的我的SSHKEYs中

常看远端仓库信息

  • git remote -v

远端仓库重新命名

  • git remote rename old new

提交到缓存区

  • git add . 全部上传到缓存区
  • git add指定文件

提交到本地仓库

  • git commit -m ‘some message’

提交远程仓库

  • git push <远程主机名> <本地分支名>:<远程分支名>

查看分支

  • git branch

创建新分支

  • git branch

切换分支

  • git checkout

创建分支并切换

  • git checkout -b

删除分支

  • git branch -d

删除远程分支

  • git push -d

切换分支

  • git checkout

忽略文件 .gitignore

这个文件的作用,会去忽略一些不需要纳入Git管理这种,我们也不希望出现在未跟踪文件列表。

那么我们来看看如何配置该文件信息。
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值