【b站李同学的Lee】1 Git基础【git&github】入门教程,必学!

课程地址:【【git&github】入门教程,必学!】 https://www.bilibili.com/video/BV1cE411G7yc/?share_source=copy_web&vd_source=b1cb921b73fe3808550eaf2224d1c155

目录

1 Git基础

1.1 版本管理

1.1.1 版本管理

1.1.2 人为维护文档版本的问题

1.2 Git是什么

1.3 Git下载和安装

1.3.1 Git下载

1.3.2 Git安装

1.3.3 查看Git版本

1.4 Git基本工作流程

1.5 Git使用

1.5.1 Git使用前配置

1.5.2 提交步骤

1.5.3 撤销


1 Git基础

1.1 版本管理

1.1.1 版本管理

版本管理是一种记录文件变化的方式,以便将来查阅特定版本的文件内容。

1.1.2 人为维护文档版本的问题

1 文档数量多且命名不清晰导致文档版本混乱。

2 每次编辑文档都要复制,不方便。

3 多人同时编辑同一个文档,容易产生覆盖。

1.2 Git是什么

Git是一个版本管理控制系统(VCS),他可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复。

文档状态:实际就是指文档内容。

1.3 Git下载和安装

1.3.1 Git下载

Git - Downloading Package

1.3.2 Git安装

默认安装就行,不需要修改任何配置。

安装成功后,鼠标右键有Git Bash here命令,可以打开git的操作环境。

1.3.3 查看Git版本

$ git --version
git version 2.44.0.windows.1

1.4 Git基本工作流程

Gi仓库暂存区工作目录
用于存放提交记录临时存放被修改文件给Git管理的项目目录(平时写代码的地方)

暂存区:在git中,每次存储项目状态,不是简单粗暴地将项目的所有文件复制然后存储起来。这样做是有问题的,当项目状态被多次存储时,Git仓库的文件就会越来越多。又因为是复制全部文件,每次存储项目状态需要耗费的时间也是比较多的。所以实际项目状态的存储不是这样做的。

而是在每次存储项目状态时,只存储被修改过的文件,没有被修改的文件是不存储的。这样就极大减少了冗余文件,减少了保存项目状态的时间。

如果这样的话,问题又来了,Git怎么知道哪些文件被修改过,哪些文件需要保存呢?此时需要开发者告诉Git。因此在git中增加了暂存区的概念。开发者将修改过需要提交的文件先通过工作目录添加到暂存区。如此暂存区中的文件就是被修改过的文件,接下来需要将暂存区的文件提交到git仓库就行了。

实际流程如下图所示。

1.5 Git使用

1.5.1 Git使用前配置

使用git前,需要告诉git你是谁,在向git仓库提交时需要用到。

如果不进行配置,则无法向git仓库提交状态。

为什么存储项目状态同时还要存储提交人信息?使用git实现多人协作同时开发一个项目,如果配置了提交人的信息,就可以知道当前这次提交是谁进行操作的,如果项目出现问题,就可以追溯到提交人。

1 配置提交人姓名 

git config --global user.name 提交人姓名

2 配置提交人邮箱(联系方式)  

git config --global user.email 提交人邮箱

3 查看git配置信息

global表示全局配置,以后做其他项目,也可以使用当前配置的信息。

注意:

1 如果要对配置信息进行修改,重复上述命令即可。

2 配置只需要执行一次。

也可以去配置文件修改配置信息。

1.5.2 提交步骤

1 git init 初始化git仓库。表示在项目文件夹下初始化一个空的git仓库。

2 git status 查看文件状态。git管理的文件有被管理文件和未被管理的文件两种状态。

3 git add 文件列表  追踪文件。追踪需要管理的文件,将工作目录中需要被git管理的文件添加到暂存区中。

4 git commit -m 提交信息  向仓库提交代码

向git提交代码原则:每次只包含1个功能,不要包含多个功能,或者功能中还包含bug的修改。(这样不利于后期恢复项目状态)

每次提交都要写提交说明(即提交信息),否则提交无法成功。

5 git log 查看提交记录

实践

1 git init

执行git init命令(在git-demo文件夹下执行此命令),会生成.git的隐藏文件夹(半透明状态)。

2 git status

3 git add 将文件添加到暂存区中,就表示文件被git管理了

4 git commit -m 提交信息

将git暂存区的文件提交到git仓库。

5 git log

1.5.3 撤销

  •  用暂存区中的文件覆盖工作目录中的文件:git checkout 文件
  •  将文件从暂存区中删除: git rm --cached 文件
  •  将git仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录: git reset --hard commitID

实践

1 git checkout 文件

场景:功能开发一半时,将工作目录中的文件添加到暂存区,然后回到工作目录中继续开发。过了一会发现需要将代码恢复到功能开发一半时的状态。——用暂存区中的文件覆盖工作目录中的文件

用暂存区的文件覆盖工作目录中的文件

2 git rm --cached 文件名

场景:工作目录中有一些测试文件,不需要加到git仓库中,但是有时会不小心加到暂存区中。此时应该将它从暂存区中删除。git rm --cached 文件名。

注意:执行命令后,暂存区就不存在该文件,该文件也不被git所管理,但是工作目录中仍存在此文件。

rm就是remove的简写。--cached,表示从暂存区中删除文件。

实践

②表示text.html已经从暂存区中删除掉。

注意此时工作目录还是有这个文件。

3 git reset --hard commitID

场景:将git仓库中的项目状态恢复出来,并且覆盖暂存区和工作目录。git reset --hard commitID

git仓库分别有A B C 和D这几次提交。

现在将B项目状态恢复,同时此命令在git仓库中删除了C和D两次提交的项目状态。

使用场景:工作目录中的代码存在问题,git仓库中的提交记录也存在问题,希望将更早的提交记录恢复出来,并且删除那些存在问题的提交记录。

实践

① 表示工作目录和暂存区都没有要提交的文件,工作目录是干净的。说明此时已经将text和list两个文件都提交到了git仓库中。

此时查看提交记录

现在要做的是,将第一次提交恢复出来,用第一次提交的文件覆盖暂存区和工作目录中的文件。

命令:git reset --hard commitID

这里的commitID就是提交ID

执行命令

此时工作目录只有1个index.html文件,说明此时已经将第一次提交的文件恢复出来了。

此时历史提交记录只剩下第一次提交了。因为刚才将第一次提交恢复出来了,因此第一次提交后面的所有提交都被git删除掉了。

  • 14
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值