Git 学会git,探索GitHub,掌握新知识
Posted IT_Holmes
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]
也可以联合以前的版本来进行比较,这里只是例举了和上个版本比较的命令。
以上是关于Git 学会git,探索GitHub,掌握新知识 的主要内容,如果未能解决你的问题,请参考以下文章