git安装及初步使用

本文介绍了在CentOS系统中使用yum命令安装Git,以及检查、卸载Git的方法。接着,讲解了Git的基本操作,包括创建本地仓库、配置用户信息、管理文件的添加与提交、查看提交历史、版本回退和撤销修改等。此外,还提到了工作区、暂存区和版本库的概念。
摘要由CSDN通过智能技术生成

git的安装 :

在CentOS 7.6环境下可以使用一条语句就能安装git

yum -y install git

如果上面命令包以下错误,说明权限不够

[leijie@fl ~]$ yum -y install git
Loaded plugins: fastestmirror
You need to be root to perform this command.

可以转换成root用户再次执行

或者对该用户添加sudo权限后在使用,

(16条消息) linux中创建用户并赋予用户sudo权限_赋予sudo权限_小逍遥1127的博客-CSDN博客

sudo yum -y install git

在这里插入图片描述

在安装之前也可以用

git --version

命令查看是否已经安装好git
在这里插入图片描述

卸载git命令

sudo yum remove git  -y

在windows下安装网站git安装网站

git的基本操作

创建git本地仓库

创建一个git目录

mkdir [目录名]

在这里插入图片描述

进入这个git目录 ,然后使用git init 对这个目录进行初始化

git init

在这里插入图片描述
当前⽬录下多了⼀个 .git 的隐藏⽂件, .git ⽬录是Git来跟踪管理仓库的,不要⼿动修改这个⽬录⾥⾯的⽂件,不然改乱了,就把Git仓库给破坏了

配置git

当安装Git后⾸先要做的事情是设置你的用户名称和e-mail地址 ,其中这个 --global选项是指我们对这个的配置会在当前机器下的所以的git仓库都生效

git config [--global] user.name  "Your Name"
git config [--global] user.email "email@example.com"

配置完后用

git config -l 

命令查看配置是否成功
在这里插入图片描述

如果想重置一个配置, 其中对于用--global配置的内容也要用--global进行重置

git config [--global] --unset [重置的属性名]  

在这里插入图片描述

⼯作区、暂存区、版本库

  • ⼯作区:是在电脑上你要写代码或⽂件的⽬录。
  • 暂存区:英⽂叫stageindex。⼀般存放在.git ⽬录下的index文件(.git/index)中,我们把暂存区有时也叫作索引(index)。
  • 版本库:⼜名仓库,英⽂名repository 。⼯作区有⼀个隐藏⽬录.git ,它不算⼯作区,⽽是Git的版本库。这个版本库⾥⾯的所有⽂件都可以被Git管理起来,每个⽂件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

  • 图中左侧为⼯作区,右侧为版本库。Git的版本库⾥存了很多东西,其中最重要的就是暂存区。
  • 在创建Git版本库时,Git会为我们⾃动创建⼀个唯⼀的master分⽀,以及指向master的⼀个指针叫HEAD。
  • 当对⼯作区修改(或新增)的⽂件执⾏ git add 命令时,暂存区⽬录树的⽂件索引会被更新。
  • 当执⾏提交操作 git commit 时,master分⽀会做相应的更新,可以简单理解为暂存区的⽬录树才会被真正写到版本库中

提交命令

将文件从工作区添加到暂存区,在add后就会多一个index,就是里面的暂存区

git add . 	   #将当前目录的所以文件都加入暂存区
git add [name] #指定文件加入暂存区
git add [name1] [name2] .. #一次性添加多个文件 

在这里插入图片描述

将暂存区内容添加到本地仓库

git commit -m "[描述]" 	#这个描述说这个操作是干什么

在这里插入图片描述

查看提交记录

git log #可以查看git的提交记录
git log --pretty=oneline
git log [file] #指定查看某一个文件的记录


在这里插入图片描述

查看git文件 :

.git中的HEAD是指向一个分支的,默认是master,修改的工作区内容会写入对象库的一个新的git对象中
在这里插入图片描述
在这里插入图片描述

git 修改文件

在git中只要是新增,修改,删除文件,都叫做 修改,所以知道了Git中追踪管理的其实是修改,而不是文件

git status #查看当前仓库状态  可以通过这个查看上次提交后到现在是否有文件被修改了

在这里插入图片描述

不过这个git status 只能查到那个文件被修改了,但是不知道修改的内容,要想知道,就需要用

git diff [file] #查看工作区与暂存区的差异

在这里插入图片描述
在这里插入图片描述

除了git diff

git diff HEAD -- [file]#用来查看工作区与版本库的差异

在这里插入图片描述

版本回退

Git能够管理⽂件的历史版本,这也是版本控制器重要的能⼒。如果有⼀天你发现之前前的⼯作做的出现了很⼤的问题,需要在某个特定的历史版本重新开始,这个时候,就需要版本回退的功能了

版本回退的命令是git reset ,该命令⽤于回退版本,可以指定退回某⼀次提交的版本。要解释⼀下“回退”本质是要将版本库中的内容进行回退,⼯作区或暂存区是否回退由命令参数决定

git reset [--soft | --mixed | --hard] [HEAD]
 --mixed 为默认选项,使⽤时可以不⽤带该参数。该参数将暂存区的内容退回为指定提交版本内容,⼯作区⽂件保持不变。
 --soft 参数对于⼯作区和暂存区的内容都不变,只是将版本库回退到某个指定版本。
 --hard 参数将暂存区与⼯作区都退回到指定版本。切记⼯作区有未提交的代码时不要⽤这个命令,因为⼯作区会回滚,你没有提交的代码就再也找不回了,所以使⽤该参数前⼀定要慎重
 
HEAD 说明:
◦ 可直接写成 commit id,表⽰指定退回的版本
◦ HEAD    表⽰当前版本
◦ HEAD^   上⼀个版本
◦ HEAD^^  上上⼀个版本
◦ 以此类推...
• 可以使⽤〜数字表⽰:
◦ HEAD~0 表⽰当前版本
◦ HEAD~1 上⼀个版本
◦ HEAD^2 上上⼀个版本
◦ 以此类推...

在这里插入图片描述

可以看到,对应现在一共有4个版本,那么我们对其使用git reset --hard将版本库,暂存区,工作区的都回退到第一个版本

git reset --hard HEAD^3 #写法一
git reset --hard [commit id]

在这里插入图片描述

通过commit id 回退到第一个版本后,就发现在提交第一次之后提交的test2,test3就没了,想恢复回退前的版本也可以使用commit id

在这里插入图片描述

不过我们回退后使用git log其实是看不到后面版本的commit id的,

在这里插入图片描述

想要在回退后查看到对应版本的commit id就需要使用git reflog

在这里插入图片描述

对于上面的第一列的 b4c2a30 , f61af46 ,7df5220其实是commit id的一部分,Git版本回退的时候,也可以使⽤部分 commit id 来代表⽬标版本

撤销修改

如果我们在工作区中的编写感觉不太行,不想用这个版本了,想重新从上个版本写,就需要恢复到上一个版本,这个就叫撤销修改,撤销的目的是为了不去影响远程仓库的代码(没有进行git push)

不过撤销修改有多个场景,

场景一:

我们修改后的内容只存在在工作区中,没有将修改后的存入暂存区和版本库,简单来说就是修改后没有进行Add和Commit操作

这个场景下,我们只需要撤销工作区的操作就行了

git checkout -- [file] #将工作区文件回到最近一次提交的状态,切记 -- 不能省略

在这里插入图片描述

场景二:

我们修改后的内容不止在工作区有,也存在到了暂存区中,但是版本库中没有,就是进行了Add操作,但是没有进行Commit操作

这个场景下,我们需要撤销工作区与暂存区的操作
在这里插入图片描述

这个想要回退就可以

方法一:先使用前面的git reset --mixed [HEAD]命令去回退暂存区的内容,再使用git checkout -- [file]去回退

工作区的内容

在这里插入图片描述

方法二:直接使用git reset --hard HEAD 将工作区和暂存区的全回退到当前版本
在这里插入图片描述

场景三:

我们修改后的内容在工作区,暂存区,版本库中都有,就是进行了add和commit操作了

这个场景下我们需要撤销工作区,暂存区和版本库的操作

只需要使用git reset --hard HEAD^ 命令就行了

在这里插入图片描述

删除版本库的文件

我们在git目录中的rm操作其实是只对工作区进行删除了,但是版本库中没有真的删除,就需要操作add和commit 才能对版本库的文件也删除

步骤:使用git rm [file]对工作区与暂存区的删除,在commit将这个删除操作提交到版本库进行删除
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值