目录

一、"工作树"

二、分支(赶时间直接看这部分)


一、"工作树"

版本控制系统的"工作树",分为三个区域:工作区、暂存区和本地仓库。

工作区:你的电脑。

这里可以有两种文件,一种是你新建的文件,一种是你对已经提交到本地仓库的文件修改后的文件,它们也会体现在本地仓库的工作区中。

暂存区:临时存放修改的代码和文件的区域。

本地仓库:存储完整历史记录和版本信息的地方,包括分支、标签和提交的代码等。

只有推到仓库里,才有版本号,在工作区和暂存区都没有版本号。

每次把文件推到仓库后,都会生成1个全局id。

commit dcfb334ca2700adc54398f0b020ef0882f70b503 (HEAD -> master)
Author: zhangsan <zh>
Date:   Fri Jun 9 11:54:10 2023 +0800

    '第二次修改11txt'

commit 541f03ba42d1ddaa1d6f7244acbe9fc4f88ae290
Author: zhangsan <zh>
Date:   Fri Jun 9 11:51:50 2023 +0800

    '修改11'

commit 38d11c770a136b4cb25f7ea07685318289d52159
Author: zhangsan <zh>
Date:   Fri Jun 9 11:51:02 2023 +0800

如果你要回滚到之前的某个版本号,你就可以复制commit id,然后使用reset命令

git reset --hard 38d11c770a136b4cb25f7ea07685318289d52159

假如有三个版本,1.0、2.0和3.0 ,如果你通过reset回到了2,会丢失3.0的提交和更改。如果,我想再回到3.0怎么办?就先用git reflog,查找3.0的版本id。

git reflog

然后再通过git reset 切换到3.0版本。

二、分支

对同一个文件,产生不同的版本,就需要用到分支。

分支与分支之间的隔离是仓库的隔离。不是工作区或暂存区的隔离。也就是说,如果你在分支里,把某个文件一路推到仓库里,然后再切换分支,在文件夹里,就看不到这个文件了。

聪明的朋友已经想到,可以用这个方法来藏些宝贝文件了。

演示:

现在我们通过git branch -b dev 创建dev分支,并新建69.txt。

接下来,我先切换到mater分支,可以看到69.txt。

 

 接下来,我再切换到dev这个分支,把其中的69.txt这个文件,推到仓库里。

命令1 把dev.txt推到暂存区

git add 69.txt

命令2 把69.txt再推到仓库

git commit -m '第一次提交69文件'

然后,我们再切换到master分支查看,会发现没有69.txt文件了。

git checkout master

 

隐藏文件的小技巧!!!

你学会了没?

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐