Git 系列二:Git 的基本使用

本文是 Git 系列的第二篇,主要介绍 Git 的基本使用

一、Git 基本工作流

在介绍 Git 原理中,我们介绍了 Git 中文件的三种状态,以及所对应的三个阶段:工作区、暂存区和版本库;但是在实际的工作中我们还要增加一个:远程版本库或者远程仓库;

  • Git 的基本工作流程如下图所示

在这里插入图片描述

二、工作区与暂存区之间的操作

工作区 (working Dir) 与暂存区 (Stage Area) 之间的操作主要是下图中红色箭头的部分

在这里插入图片描述

1)从工作区到暂存区

这一部分的场景是:当我们对代码或者其他的文档进行修改之后,我们需要首先将改动添加到暂存区来暂时存储修改

即:工作区(working Dir)中未被追踪的修改加入到暂存区(stage Area)进行追踪

# 将工作区中所有的修改的文件添加到暂存区
git add .  

# 将工作区中某一个修改的文件添加到暂存区
git add filename

# 将工作区中多个修改的文件添加到暂存区
git add filename1 filename2 filename3
2)从暂存区到工作区

使用场景:先将当前工作区中的修改提交到暂存区之后,接着在工作区进行修改;但是修改之后,又不想要当前对工作区的修改了,想要将之前保存在暂存区中的修改还原到工作区

git checkout filename

# 注意 checkout 命令存在两种含义:
#   1. 切换分支
#   2. 从暂存区回退某一个文件的修改
# 通常情况下,可以使用上面的方法回退,但是当文件名与分支名冲突的时候,需要添加两个短横线
git checkout -- filename

# 另外一种可以达成这个目的的方法
# 即:丢弃工作区这个文件的改动
git restore --staged filename 

三、暂存区与本地版本库之间的操作

本节聚焦于暂存区(stage Area)与本地版本库(.git Dir)之间的操作;即下图中红色箭头的部分:
在这里插入图片描述

1)从暂存区到本地版本库

将暂存区中的文件提交到本地版本库形成一个新的历史版本;会分配一个 Hash 值,安全地保存在版本库中

# 将暂存区中所有的文件添加到版本库
git commit -m "注释"

# 将某一文件添加到版本库
git commit filename -m "注释"
2)从本地版本库到暂存区

将版本库中最近一个版本还原到暂存区

使用场景:当我们修改了文件,并且将修改提交到暂存区,如果我们发现不应该将所有的文件添加到暂存区,或者说我们发现这次的修改有问题,需要重新修改,可以使用版本库的文件恢复暂存区的文件

注意:下面的这个操作并不会影响工作区的修改

# 从版本库恢复到暂存区
git reset filename

# 取消文件的暂存
git restore --staged filename

# 或者
git rm --cached filename

四、工作区和本地版本库之间的操作

这一节聚焦于工作区(working Dir)和本地版本库(.git Dir)之间的操作;即下图中红色箭头的部分:

在这里插入图片描述

1)从工作区到本地版本库
git commit -a -m "注释"

# 等同于下面两个:即先从工作区到暂存区,再到版本库
git add .
git commit -m "注释"
2)从本地版本库到工作区

使用场景:想要丢弃本地所有的修改,恢复最新的版本库中的文件;这个操作将会删除工作区中所有的修改和暂存区中暂存的文件,但是新增的文件不会被撤销

git checkout HEAD .

五、Git 中常用的特殊命令

要想记住所有的命令是不可能的,重要的是用好 -help

注意:下面的代码中中括号 [] 中的内容是可选内容

# 将本地的文件夹初始化为 Git 版本仓库
git init

# 查看工作区、暂存区和版本库的文件状态
git status

# 查看工作区中所有文件[某个文件]的修改内容
git diff [filename]

# 查看某一个命令的帮助文档,直接在某一个命令后面加上 --help 即可
git commit --help

# 查看所有提交历史
git log

# 查看所有分支的所有操作记录(包括提交、回退、已删除的提交操作记录等 )
git reflog

# 将未追踪的文件删除
git clean
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值