#git/github 学习2 Git本地库

目录

一、Git版本控制简介

二、具体操作

2.1.初始化本地库(repository)

2.1.1新建本地库

2.1.2查看隐藏文件的方法

2.2.文件添加至暂存区

2.2.1添加文件

 2.2.2删除文件

2.3.文件提交到本地库

2.3.1提交文件

 2.3.2查看版本状态

2.4.修改文件重新提交

2.5.版本穿梭

2.5.1方法

2.5.2原理介绍

三、总结、

3.1流程示意

 3.2代码总览


 

一、Git版本控制简介

Git的版本控制,用一个例子形容就是,一个长期的项目到完成需要经过不断的更新,而每次更新都需要保留更新后的副本(比如写毕业论文时需要把每一次修改的版本都会另存为桌面,这样显得就非常的杂乱),并且由于更新的次数较多自己也有可能记不清楚每次修改的位置。而Git通过他的版本控制系统(主要是利用指针很好的解决了这一问题)。本次内容就是对Git进行版本控制的详细操作流程。

二、具体操作

2.1.初始化本地库(repository)

2.1.1新建本地库

首先,假设此次需要创建的项目名称为test1。在相应的工作区(就是此文件夹)中,通过Git Bash打开。通过以下代码命令初始化本地库

git init

通过终端上的信息(Initialized empty Git repository),Git告诉我们创建好了一个空的本地库,在D盘的工作区内。

816f2dfc3a0747558e6b26c7382fa5ac.png

此时,我们可以通过检查工作区来确认此信息。此时打开工作区就可以发现在工作区文件夹中多出了.git的文件夹。

da14d453c4e84408984ddbebbef92788.png

2.1.2查看隐藏文件的方法

 如果不存在此文件夹的话,可以通过以下两种方式查看。(查看隐藏文件的方法)

①Linux用于查看隐藏文件的命令。(虽然是在Windows系统上,但Git Bash的使用方式和Linux系统非常相似,在Linux系统中能够使用的命令,在Git基本都能实现。)

ls -ah

结果如图所示

f76124b4f22940f1b115ce972d670f7e.png

 ②windows工作区勾选查看隐藏文件。方法如下图所示,在勾选隐藏的项目后即可看见.git文件夹。 

eec5e6c7ab4a40a88f685179f78e0f05.png

 

2.2.文件添加至暂存区

2.2.1添加文件

这里以,在工作区test1中创建一个新的txt文件(hello.txt)为例。(这里创建和上述查看隐藏文件相同也可以使用Linux命令Vim来创建,也可以直接在Windows下新建就不再赘述)

在此次文本中共有4行分别是5个1、2、3、4。 

c88fc99f1a994e859cf59017433d06ec.png

在创建好文件后,通过下述命令可以查看当前本地库的状态

git status

 终端中给出如下信息:

①目前处在master分支下;②目前还没有上传过本地库③存在为跟踪的文件需要使用git add命令将其提交到暂存区。

2c9a6ca047ad4dbd83d0327828290369.png

根据提示,我们使用该命令将其添加到暂存区:

git add hello.txt

 在添加完毕后,再次通过git status 查看本地库的状态可以发现,他提示我们这个文件已经被添加了并且颜色变成了绿色,并告诉了我们在暂存区删除文件的方式:

134a2d53a12843c3b7405709c5acf50d.png

 2.2.2删除文件

在这里我们尝试一下删除暂存区文件的命令,并在删除后重新查看本地库的状态。

git rm --cached hello.txt

 可以发现本地库的状态又恢复成了刚修改完hello.txt文件后的状态。

cd2ef968a6e243d78a38208394db9493.png

 我们重新将hello.tx添加到暂存区。

2.3.文件提交到本地库

2.3.1提交文件

此时,我们创建的文件hello.txt目前只在暂存区内,还没有提交到本地库。使用下述命令提交,这是非常有意义的一步,因为引号中的first commit 信息其实是版本控制信息,可以根据自己的需求修改,比如second commit/change 3 line 等等。

git commit -m "first commit" hello.txt
git commit -m "版本控制信息" 文件名

结果如下图所示。他告诉我们master分支第一次提交了暂存区,改变了一个文件,插入了4行(这和我们之前创建hello.txt时的操作是相同的)。其中,e2c38bf这一串数字为简略版的版本号。

bf513b85783a41b59c723d3505f3fbfa.png

我们可以通过git status 命令再次查看此时本地库的状态。

此时,终端上说明没有需要提交的文件,工作区是干净的。 

45d51bf745e1472983163296efedc74d.png

 2.3.2查看版本状态

通过下述两个命令可以查看目前本地库的版本状态。其中git reflog是简易版,git log是完整版。

git reflog
git log

 结果如图所示。有如下的信息:

①e2c38bf其实是版本号的前七位。②在完整版中包括了提交的作者用户签名和邮箱以及提交日期的信息。

bb483c2479e64e1c9c0cd7285c676763.png

2.4.修改文件重新提交

我们此时修改hello.txt文件的内容。(Windows/Linux两种方式)。如图在每一行后增加了一个h。

708d03212acf4bc287dfb9345b9dc935.png

此时再查看版本状态时,又出现在2.1中相同的场景。hello.txt标红,并且出现提示需要更新文件或者忽视文件变化。

42df34f889804cfeb23a736a8c705217.png

 为了更新文件产生的变化我们必须重新走一遍上述的流程即:

添加暂存区->提交本地库

git add hello.txt
git commit -m "second commit" hello.txt

 注意看此时终端信息。 版本号和版本控制信息发生了改变。另一方面,虽然我们只是在每一行的最后添加了h,终端提示的却说四行被删除四行被新增,这是由于Git没有在末尾新增的命令,它所采取的方法是将要改变的行删除后重新写入。

4761d2a3373f40459644d22b15303a86.png

此时再利用git reflog 和git log 命令来查看版本信息。可以看到提交两次的详细信息。并且目前的指针是指向第二次提交的结果。

5058b9a310d84b10b4eb139dd9041032.png

此时,工作区中也只有一个hello.txt文件。通过命令来查看他的内容验证(是更新后的内容)。

f05ddeb50f5d4669b9d1b5b4f14f71f4.png

600f76262df64b448ef9804c34005ac3.png

2.5.版本穿梭

2.5.1方法

版本之间穿梭使用的方法是改变head指针的指向,控制的对象是版本号。使用如下的代码

git reset --hard e2c38bf
git reset --hard 版本号(精简版和完整版都可以)

并且通过git reflog查看更新后的版本号。通过终端信息可以看出当前指针指向的是第一个文件。

726173e433a04b549260c8ae30283762.png

 为了能够更清晰的看出版本的变化查看hello.txt里的内容。

又变成了第一个版本的内容。 

0800ca47a7ff4acca1a3c38c13159e2f.png

通过这种方式,进行不同版本间的控制。

2.5.2原理介绍

首先,打开.git文件下的refs文件夹->heads文件夹->master。

当前master指向的是第一个版本的版本号。 

84a50b1ce4e94dea8069d98cc3f0d542.png

我们再回溯到第二个版本。

75886d586d5e4c44a74833d8d4153e17.png

 再次查看master里面的内容,已经变成了第二个版本的版本号。

85ca909188e94257bcf1f4000ae80c6c.png

 也就是他是通过指针来改变读取的内容。head->master->版本号

当发生版本穿梭的时候只是改变了master指向的对象,如图所示。

618142686d7744a0bda885d0675baa0f.png

5200989b6b544c3fb4355febba3fa3f6.png

三、总结、

3.1流程示意

 首先,在创建一个新项目时,先初始化本地库。每当项目有新的文件或者文件被修改的时候,便重新添加暂存区,在每次修改完毕后,都将暂存区中的内容提交到本地库。

在查看不同的版本时,通过版本穿梭可以查看不同版本的内容。

 

feca848153fd4a638c87a8c8df33bafc.png

 3.2代码总览

代码

作用

git init

初始化本地库

git status

查看本地库状态

git add 文件名

添加文件到暂存区

git rm –cached 文件名

删掉暂存区文件

git commit –m “版本信息” 文件名

提交文件到本地库

git reflog

查看版本信息,简略版

git log 

查看版本信息,完整版

git reset –hard 版本号

版本穿梭

Linux相关

作用

vim 文件名

打开一个文件没有则创建

ls -ah

查看当前文件夹下文件,包括隐藏文件

cat 文件名

查看文件内容

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值