git初学(二)

git如何进行版本控制?

如何做版本控制呢?其实就是让git管理文件夹,比如我们有一个项目叫学生考试管理系统,首先我们创建一个文件夹student,这个文件夹当中保存所开发的所有代码

  1. 进入要管理的文件夹

  2. 初始化

git init
image-20221213102209924

输入以上命令即完成了初始化,完成初始化之后就可以管理了,怎么管理呢?

  1. 管理
  • 管理目录下的文件状态
git status
image-20221213102348306

该命令是检测当前文件夹下的文件状态,检测到之后然后进行管理:

  • 管理指定文件
git add "文件名"
image-20221213102523466

add test文件夹后,查看状态发现test文件夹下的所有文件都成为绿色状态了,即git已经开始管理了。

或者:

git add .

git add . 是将该文件夹下面的所有没有add的文件全部add,git add之后其实就是git将这些文件管理起来了

  1. 生成版本
git commit -m "第一个版本"

-m选项是message的意思,也就是一些辅助信息,让开发者便于知道该部分是干嘛的。

image-20221213102852200

我们修改一下这第一个版本,增加一个hello.txt文件看一下会发生什么:

image-20221213103142444

可以发现状态变为红色了,所以我们需要再次add并且commit提交该版本:

image-20221213103348371

查看生成的所有版本:

git log
image-20221213103413115

有些小伙伴可能第一次使用git没有进行个人信息配置,使用以下命令进行用户名和邮箱的配置:

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

git三大区域

image-20221213154016362

前面我们看到我们在创建一个新文件或者修改时查看状态会发现该文件会变为红色状态,实际上就是上图中的红色区域,而add之后的文件会变为绿色状态,也就是上图中的暂存区,commit之后的文件会位于版本库当中。

git add将发生修改的文件添加到暂存区/索引,修改的工作区内容会写入对象库的一个新的git对象中,在.git目录下会有objects目录,用来存放git对象,add后.git目录下会生成一个index,就是用来存放修改的内容的索引,git commit后的文件会位于版本库当中。
在这里插入图片描述

回滚

当我们提交了一个版本之后,而想回到之前的版本怎么做呢?比如领导让你开发业务的一个新功能,你开发完成后成功上线,但是领导说还是之前的好,不需要这个新功能了,此时你心里***,但是没办法谁让我们是打工人呢,只能照做,此时我们就可以用到回滚:

首先查看当前所有版本信息:

git log
image-20221213155516217

commit后面的一长串数字字母就是版本号,此时再输入回滚命令:

git reset --hard "8ef0c16f65936397b2c33f566f01dc2eb76f6f29"

image-20221213155643037

此时就回到第一个开发版本了,那么我们又想回滚回来怎么做呢?我们首先git log查看版本信息,看一下第二个版本的版本号:

image-20221213155839975

但是发现以前的提交版本不见了,那么怎么办呢?难道git不提供这种功能吗?不是的,我们可以使用git relog查看到记录

git reflog

image-20221213155916689

拿到想要回滚的版本号,然后回滚:

git reset --hard "60b9898"

image-20221213170442258

命令总结

img

回退:
例如版本1的文件内容为git,版本2为git world,那么–soft选项只对版本库进行回退,–mixed只对暂存区和版本库进行回退,–hard对工作区和暂存区以及版本库都进行回退

image-20230702141346399

git reset HEAD

该命令是回退到当前版本,默认的选项为–mixed,git reset HEAD^是回到当前版本的上一个版本,以此类推^^是回退到上上一个版本

撤销修改的三种场景:在这里插入图片描述
第一种是只修改没有add,第二种是修改了然后add了,第三种是add并且commit了。

删除文件,如何删除?
方法一:

rm filename
git add filename
git commit -m "delete filename"

方法二:

git rm filename
git commit -m "delete filename"

git rm filename是将filename从工作区以及暂存区都删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小赵小赵福星高照~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值