Git 学会git,探索GitHub,掌握新知识 (一)

1.git的功能介绍

功能呢,也就三个部分:

本地库
暂存区
工作区

在这里插入图片描述

2.git和代码托管中心

git和代码托管中心是两个东西,使用git命令来操作代码托管中心的代码。

在局域网环境下,代码托管中心有:

GitLab服务器

在互联网外网环境下,代码托管中心有:

GitHub(国外服务器,访问很慢)
码云gitee(国内服务器,访问速度很快)

3.安装git(linux系统)

这里我使用的是ubuntu系统,安装git,直接使用的linux命令安装,如果是windows安装去官网下载就行。

可以使用git --version来查看是否安装。

4.git初始化

命令:

git init

这条命令就是初始化git本地库的命令。

在想要初始化的目录下面,执行这个命令。

然后,可以使用ls -lA来查看到隐藏文件 .git 。

.git里面包含很多信息,最重要的是config文件,下图便是config的信息。

在这里插入图片描述

5.设置git签名

这里说两种级别:项目级别(仓库级别),系统用户级别。

1.项目级别(仓库级别):仅在当前本地库范围有效。

git config user.name [名字]
git config user.email [电子邮件]

这里设置的基本信息就保存到了初始化本地库目录下的.git/config文件里了。

2.系统用户级别:登录当前操作系统的用户范围

git config --global user.name [名字]
git config --global user.email [电子邮件]

这里设置后,签名就保存到了用户家目录下面了。使用命令:cd ~,回到用户家目录下,执行命令:ls -lA,能找到一个.gitconfig文件,系统用户级别的签名就保存在这里面了。

上面这两个级别的优先级:

1.就近原则:二者都有时,项目级别优先使用。
2.如果只有系统用户级别,便使用系统用户级别。
3.二者都没有时,报错。

6.git 基本操作

1.git status

状态查看

2.git add [file_name]

添加到暂存区

3.git commit -m “commit 信息备注” [file_name]

git commit -m “commit 信息备注” [file_name]

从暂存区提交到本地库

4.git log

查看日志(历史纪录)

如果多屏幕显示了:

空格向下翻页
b 向上翻页 (back)
q 推出 (quit)

4.1 git log --pretty=oneline

git log --pretty=oneline

一行显示一个记录。
哈希值 , 指针 , 操作信息。

4.2 git log --oneline

git log --oneline

和上面命令差不多,但是哈希值取的是部分的。

4.3 git reflog

git reflog

这里多了一个指针需要移动的次数,例如:HEAD@{3}。

HEAD指针,是方便我们来引用的,前进或回退到指定的状态下。

在这里插入图片描述

5.git reset

5.1 git reset --hard [索引值(哈希值)]

git reset --hard [索引值(哈希值)]

5.1.1 基于索引值(哈希值)操作

这里个命令,便是用的HEAD指针来进行的指向的。
直接通过哈希值,这里可以说索引值,来指定返回到之前的状态就可以了。

5.1.2 基于 ^ 符号操作

这个 ^ 符号,只能往后退。
命令如下:

git reset --hard HEAD^(^可以多个)

这里的 ^ 符号可以添加多个,一个就回退上个状态,两个就回退到上上个状态,以此类推。

5.1.3 基于 ~ 符号操作

这个 ~ 符号,也是只能后退,但是它比 ^ 符号好用一些。可以随便回退到任何状态。

命令如下:

git reset --hard HEAD~10 (后退10个状态。)

5.2 reset命令的三个参数

5.2.1 --soft参数

–soft参数:

仅仅在本地库移动HEAD指针。

这里因为本地库改变了,所以git status会出现绿色状态。

5.2.2 --mixed参数

–mixed参数:

在本地库移动HEAD指针。
重置暂存区。

这里因为本地库和暂存区都改变了,工作区不变,所以git status会出现红色状态。

5.2.3 --hard参数

–hard参数:

在本地库移动HEAD指针。
重置暂存区。
重置工作区。

这里都进行改变,因此git status 不变。

5.2.4 删除文件并找回

删除文件并找回:
我们使用reset --hard [索引值]以及它的参数来实现找回被删除的文件,但是:删除前,文件存在时的状态已经提交到了本地库。

6.git diff

6.1 git diff [file_name]

在没有添加任何参数的情况下,是工作区文件和暂存区文件内进行比较。

6.2 git diff HEAD [file_name]

添加了HEAD参数情况下,是工作区和本地库进行比较。

6.3 git diff HEAD^ [file_name]

也可以联合以前的版本来进行比较,这里只是例举了和上个版本比较的命令。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xupengboo

你的鼓励将是我创作最大的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值