Git学习

一、Git介绍

  Git就是用来进行版本控制。Git属于分布式的版本控制系统。

四个工作区域

区域作用
WorkSpace电脑本地看到的文件和目录,在Git的版本控制下,构成了工作区。
Index/State暂存区,一般放在.git目录下,用于临时存放还未提交的改动,执行git add后,改动存放到暂存区中。
Repository本地仓库,存在本地的版本库,其中HEAD指向最新的版本,执行git commit后,改动就会提交到本地仓库中。
Remote远程仓库,例如github

文件的四种状态

状态说明
Untracked文件还没有加入到git库,还没参与版本控制,即未跟踪的状态,可以通过git add,变为staged状态
Unmodified文件已经加入git库,但是没有修改
Modified文件被修改了,这时候就可以通过stage命令进如staged状态
staged暂存状态,执行git commit就会将修改同步到库中。这时又会变为Unmodified状态

二、Git常用命令

1.init

  在进行git的操作之前,需要执行git init命令,这时候会在当前目录下生成一个.git文件夹:
在这里插入图片描述

2.status

  可以通过git status查看git当前的状态:
在这里插入图片描述
&esmp;&esmp;这里没有创建文件,创建一个“test.txt”文件,再查看状态:
文件内容:
在这里插入图片描述

在这里插入图片描述
  这里就提示文件处于Untracked未追踪状态,使用git add命令可以添加到暂存区:
在这里插入图片描述
  这时候就形成了一个版本,这时我们再去修改文件的内容:
在这里插入图片描述
查看状态:
在这里插入图片描述
  modified表示文件已经被修改,这里可以看到我们可以通过git add确认修改,也可以通过git restore恢复修改:
在这里插入图片描述
  将暂存区内容提交到本地仓库(版本号为v1.0):
在这里插入图片描述
  这样子就已经提交成功了,工作区和仓库里的代码是一致的。

三、版本切换

  我们将上述文件再次进行修改(也可以通过git diff进行查看修改):
在这里插入图片描述
  再次进行提交,并将版本命名为v2.0:
在这里插入图片描述
  我们可以通过git log查看版本情况:
在这里插入图片描述
  这里的HEAD就是指向当前的版本。
  通过git reset回退版本,^表示回退一个版本,也可以添加多个,表示回退多个版本:
在这里插入图片描述
  可以看到我们成功地回退到了上一个版本,这时如果我们想要再回到2.0版本,就可以继续执行git reset,但是,这里要切换到指定版本,可以通过每个版本的标识(即commit后面字符串的前六位)来实现:
在这里插入图片描述
  这样子就切换成功了。然后可以通过git reflog查看切换过的操作:
在这里插入图片描述

四、撤销修改

文件的撤销修改

  上面也有提到,使用git restore 文件名,就可以撤销对文件的修改:
在这里插入图片描述
  如果想要撤销暂存区的修改,则需要加上–staged:
在这里插入图片描述

五、删除文件

  例如这里创建两个文件:
在这里插入图片描述
删除掉test1后:
在这里插入图片描述
这时候,仓库的内容和工作区内容不一致,就需要删除仓库中的test1:
在这里插入图片描述
提交后即可:
在这里插入图片描述

六、分支的创建和使用

创建

  在大型的项目开发中,一般都会使用分支来进行开发,master分支(我这里是main),一般都是稳定的代码,而类似于BUG修复和新特性的修改都是在不同的分支上进行的开发和测试,这里我们创建一个分支branchTest:
在这里插入图片描述
  这里checkout就是切换分支,加了-b的意思是创建并进入branchTest分支,这里切换成功后进入文件夹中创建一个新的文件夹:
在这里插入图片描述
  然后对文件夹进行提交:
在这里插入图片描述
  这里再切换回main分支,会发现刚刚创建的branchTest文件夹并不在里面,因为branchTest文件夹是创建在branchTest分支中:
在这里插入图片描述
在这里插入图片描述
  这时候在main分支中添加branchMain文件夹,并对其进行提交:
在这里插入图片描述
  在main分支中查看git log就无法看到刚刚我们提交的branchTest版本:
在这里插入图片描述

合并

  如果这里我们想要将branchTest的内容合并到main分支中,首先要进入到你想要合并到的分支,例如这里的main分支,然后使用git merge 分支名,输入之后会有如下的提示,这个就是为了让你说明为什么要合并分支,作简单解释,也可以不写,然后点击esc输入":wq"就可以保存:
在这里插入图片描述
  保存成功后,分支就成功地合并了:
在这里插入图片描述
  文件夹中也成功地出现了两个分支的内容
在这里插入图片描述

删除

  想要进行删除的话,只需要执行"git branch -d 分支名"即可。

分支冲突的解决

  当我们在分支上进行了修改之后,又在添加了该分支的分支上作不一样的修改时,就会造成冲突,例如,这边将分支branchTest中的txt文件进行修改,又将分支main中相同的txt文件进行不一样的修改,这时候进行合并就会有冲突提示:
在这里插入图片描述

  并且在相应文件中会有冲突内容的显示:
在这里插入图片描述
  要解决冲突的话,就需要手动解决,如在这里的文件进行修改:
在这里插入图片描述
  然后保存并进行提交:
在这里插入图片描述
  这样子冲突就成功地解决了。也可以通过git log --graph查看分支合并情况:
在这里插入图片描述
  如果平时在项目中遇到了bug,需要现在主分支中进行保存(使用git stash),然后再切换到相应分支中进行修改,最后再进行保存。使用"git stash apply 索引"还可以用于恢复修改。

七、忽略文件

  例如在使用vue等一些框架时,经常需要引入依赖包,这些我们是不需要去进行版本控制的,就需要对其进行忽略 ,方法是在文件夹中创建一个.gitignore文件,并在其中写明需要忽略的文件夹或文件名:
在这里插入图片描述
  再进行保存,会发现不再对ignore文件夹进行监听:
在这里插入图片描述
  如果想要不忽略文件,就在前面设置一个"!"即可。

上述内容就是对git一些常用操作的介绍啦,如果有不对的地方也希望大家可以指正哦。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

这名没人用吧

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

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

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

打赏作者

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

抵扣说明:

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

余额充值