Git 安装与配置


如果文章对您有用,请关注点赞加收藏,博主会持续更新相关的专栏笔记🫡

Git 的安装

下载地址:官网

Git 的安装,网络上一找一大堆,就是一直点击下一步即可。

Git 的配置

因为 Git 是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和 Email 地址。git config 命令的 --global 参数,用了这个参数,表示你这台机器上所有的 Git 仓库都会使用这个配置。

配置使用者信息:

配置用户名:

git config --global user.name xxx

配置邮箱:

git config --global user.email xxx@qq.com

local、global、system 三种级别:

  • local 当前项目有效【工作目录 /.git/config】
  • global 当前用户有效【用户目录 /.gitconfig】
  • system 所有用户有效【Git 目录 /etc/gitconfig】

Git 相关操作

创建版本库

上面我们已经介绍了相关的 Git 的安装,以及一些简单的配置,现在我们来介绍一下如何创建版本库:

命令:

git init

该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。但是在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。

注意:使用创建版本库的命令 git init 的时候,首先要保证 Git 的客户端已经在本地仓库的目录下了。

如果 Git 客户端不在本地仓库的目录下,那么可以使用如下图的命令到达本地仓库目录下:

cd g:/gitRepository

有两种取得 Git 项目版本库的方法:

第一种是在现有项目或目录下导入所有文件到 Git 中;

第二种是从一个服务器克隆一个现有的 Git 仓库。

我们先说一下在本地创建 Git 项目版本库,什么是版本库呢?

前面介绍过,版本库又名仓库,英文名 Repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被 Git 管理起来,每个文件的修改、删除,Git 都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。默认处于 master 分支,head 指针指向 master 分支。

新建文件

注意:把文件添加到仓库的前提是,在本地仓库中需要有文件,如果没有文件的话是没有办法添加的。

在本地仓库添加本地文件的办法,我们最显而易见的就是右键,然后点击新建文件,当然如果嫌弃麻烦的话,我们也可以使用下面的命令进行创建。

命令:

touch filename

把文件添加到仓库暂存区中

命令:

git add filename  # 将某一个文件添加到本地仓库的暂存区中
git add .  # 将所有的文件添加到本地仓库中

注意:通过 git add 命令来把文件添加到仓库,实现对指定文件的跟踪执行上面的命令,没有任何显示,这就对了,Unix 的哲学是“没有消息就是好消息”,说明添加成功。

把文件提交到本地仓库中

命令:

git commit -m "本次修改的简介"

简单解释一下 git commit 命令,-m 后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

git commit 命令执行成功后会告诉你,多少个文件被改动【我们新添加的文件】,插入了多少行内容。

为什么 Git 添加文件需要 add,commit 两步呢?因为 commit 可以一次提交很多文件,所以你可以多次 add 不同的文件。

查看仓库状态

命令:

git status

git status 命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,哪些文件被修改过了,但还没有提交。

Changes to be committed 就说明是已暂存状态。

Changes not staged for commit 说明还没有放到暂存区,需要运行 git add 命令。

查看文件修改内容

当我们文件提交之后,想要查看一下提交后工作区和版本库里面最新版本的区别,可以执行命令 git diff:

Administrator@DESKTOP-LVAMVKF MINGW64 /e/repository/chih-ping.gitlab.io (master)
$ git diff
FETCH_HEAD      HEAD            master          origin/HEAD     origin/master
Administrator@DESKTOP-LVAMVKF MINGW64 /e/repository/chih-ping.gitlab.io (master)
$ git diff HEAD source/_posts/Git错误集锦.md
diff --git "a/source/_posts/Git\351\224\231\350\257\257\351\233\206\351\224\246.md" "b/source/_posts/Git\351\224\231\350\257\257\351\233\206\351\224\
index 712808b..6035ae7 100644
--- "a/source/_posts/Git\351\224\231\350\257\257\351\233\206\351\224\246.md"
+++ "b/source/_posts/Git\351\224\231\350\257\257\351\233\206\351\224\246.md"
@@ -44,4 +44,13 @@ git config –list
.......[此处内容省略]
+# 文件名称过长报错
+当拉取项目、执行git add命令或者想要将项目push上去的时候,出现如下报错:
+....
+Filename too long
+....
+原因是:git在windows下的文件名长度最大是260,git在linux下最大支持4096长度的文件名,可以通过输入以下命令解决:
+....
+....
> Cease to struggle and you cease to live.

备注:提交后,HEAD 表示当前的工作区,按照上面的命令,可以查看文件在工作区和版本库里面最新版本的区别,并且将区别罗列出来。比如:前面带 + 表示添加了一行,带 - 表示删除了一行。

比对版本

操作步骤:

1、首先在 test.txt 上面添加第一行如下:

first commit!

2、然后添加并且提交文件:

$ git add test.txt
$ git commit -m "first commit"
[master 60b8748] first commit
...

3、修改,添加第二行,重新添加提交:

second commit!

将添加的内容放到暂存区:

$ git add test.txt
$ git commit -m "second commit"
[master cc8f7b1] second commit
...

4、使用版本比对命令发现没有效果显示,然后再把第二行删除掉,没有 add,直接进行版本比对,发现有效果比对。

这说明了,版本比对不能比对已经提交的,只有未提交的,并且经过修改的才会比对出版本的不同之处。

因此,git diff 顾名思义就是查看 difference,显示具体哪些行发生了改变知道了对文件作了什么修改后,再把它提交到仓库就放心多了。

查看日志

命令:

git log

在实际工作中,我们脑子里肯定记不住一个几千行的文件每次都改了什么内容,不然不用版本控制系统了。git log 命令显示从最近到最远的提交日志,版本号 commit id 是十六进制唯一标识,避免冲突。

版本回退

命令:

git reset --hard commit_id

演示:

  1. 创建两个文件,然后使用 git add 命令将两个文件都添加到仓库中,然后将之提交,产生一次 commit_id
  2. 删除其中的 one.txt,提交操作,产生一个 commit_id
  3. 查看日志,回归到删除前的操作

我们可以发现 one.txt 首先是没有了,经过 git reset --hard commit_id 可以发现 one.txt 又出现了。这就是版本回退,回退到该版本提交后的状态。

注意:HDEA 指向的版本就是当前版本,因此,Git 允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id。回退前,用 git log 可以查看提交历史,以便确定要回退到哪个版本。

查看命令历史

当你已经回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本,找不到新版本的 commit id 怎么办?要重回回退之前的版本,我们可以用 git reflog 查看命令历史,包括 commit id,以便确定要回退到未来的哪个版本。

命令:

git reflog

撤销修改

Git 撤销修改,有两种方式:

命令:

git checkout -- file
git checkout -- test.txt

意思就是,把 test.txt 文件在工作区的修改全部撤销,这里有两种情况:

一种是 test.txt 自修改后还没有被放到暂存区,现在,撤销修改就回到和仓库一模一样的状态

一种是 test.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就会回到添加到暂存区后的状态,总之,就是让这个文件回到最近一次 git commit 或 git add 时的状态

命令:

git reset HEAD file

用命令 git reset HEAD file 可以把暂存区的修改撤销掉,重新放回工作区。

总结:

场景一:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令 git checkout – file

场景二:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令 git reset HEAD file,就回到了场景 1,第二步按场景 1 操作

删除文件和恢复误删

删除文件:从工作区,也就是我们电脑中的本地工作区文件目录下将 test.txt 删除了,但是这时候我们发现我们删除错了,那么要怎么办?

演示:删除 two.txt 文件

恢复误删:

$ git status
$ git checkout -- two.txt

这时候我们会发现,本地被我们删除的文件又回来了。

总结:通常如果直接在文件管理器中把文件删了 git status 命令会立刻告诉你哪些文件被删除了。如果你确实要从仓库中删除该文件,那就用命令 git rm 删掉,并且 git commit。另一种情况是本地文件管理器删错了,因为仓库里还有,所以可以很轻松地把误删的文件恢复到最新版本。

git checkout – file 其实是用仓库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

删除仓库中的文件

命令:

git rm file
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱淋雨的鼬先生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值