【建议改为:活 学 活 用】如何使用git工具一键隐藏/管理你的“学习资料”?

       

        引言: git工具一键隐藏"学习资料"是怎么回事呢?git工具相信大家都很熟悉,但是git工具一键隐藏"学习资料"是怎么回事呢,下面就让小编带大家一起了解吧。git工具一键隐藏"学习资料",其实就是作者闲得无聊, 学习git的使用,大家可能会很惊讶git工具怎么会一键隐藏"学习资料"呢?但事实就是这样,小编也感到非常惊讶。这就是关于git工具一键隐藏"学习资料"的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦!

        本篇旨在使用一个妙趣横生的小例子, 帮助熟悉git操作指令, 理解分支、工作区暂存区等概念

        目标: 使用git工具, 一键表面隐藏电脑文件夹下的某些不可外传的"学习资料"

例如, 笔者电脑中恰好就有这么一个文件夹, 尝试使用git版本控制的方式, 将其隐藏: 

 

此处为了本人名声与过审需要, 有必要打开这个文件看一下里面的内容(狗头):

是北京尚学堂•百战程序员•JavaWeb框架全集(狗头):

 

演示效果: 执行chang_branch.bat 隐藏原文件显示nothing.txt, 执行 show.bat 显示 原有的文件

 


接下来为技术内容,

并非权威指导/git教程, 主要为笔者学习过程中的个人笔记:

实现方法:

0 配置git工具环境

网上有很多很多教程,不在此赘述

 

1  git init操作

使用git init 操作可以加创建一个 .git的隐藏文件夹, 学名叫做 git 的版本库, 说白了就是初始化;

此时相当于我们告诉git工具, 我要让他帮我管理我的"学习资料"的这个文件夹

 

2 git add .

使用"git add ." 操作可以将当前工作区中的所有文件添加到缓存, 注意加.是所有文件, 也可以使用文件名

init仅仅是告诉git管理这个文件夹, 但他还没有追踪到文件夹里面的项目, 使用add将文件加入到缓存中, 为提交做准备

 

3  git commit -m "你的版本注释"

使用 git add 命令将想要快照的内容写入缓存区,

而执行 git commit 将缓存区内容添加到仓库中。

到这一步, 你才将你文件夹下面的文件, 成功的提交到了仓库里. 

这里的git已经保存了此刻的状态(版本), 有了一个版本,  即master.  这个分支里面有你的学习资料, 意思就是及时以后你的学习资料被删了, 进入到这个版本中, 你的学习资料也会被git恢复

 

4 git branch new_branch

建立一个新的分支,

当你执行 git init 的时候,默认情况下 Git 就会为你创建 master 分支。

如果我们要手动创建一个分支。执行 git branch (branchname) 即可。

我们建立了一个新的分支, 这样在这个新的分支里面操作(删掉我们的学习资料) 也不会影响到主分支了. 

 

5 git checkout new_branch

进入这个分支, 上一条语句的意思是创建, 但并没有进入新分支的操作状态. 使用 git checkout new_branch 进入

此时已经进入了一个新的状态, 可以对宝贵的学习资料为所欲为了

 

6 git rm -r *

递归删掉当前目录下的所有文件

直接删掉我们的学习资料! 

 

7 type nul>nothing.txt     git add nothing .txt

创建一个nothing.txt 文件, 看起来别太尴尬而已,

任然是使用git, 管理这个nothing.txt文件

此时这个版本中, 已经删掉了所有的学习资料, 只留下了一个nothing.txt 也是后来我们想让他人看到的状态

 

8 git commit -m "提交版本的注释"

将这个版本提交

从  修改文件 -> git add ->git commit  三连下来,才可成功修改仓库

此时准备工作已经dagong大功告成!

 

9 分析与实际过程演示

9.1 分析:

其实就是建立了两个分支(控制两个版本),

一个版本是: 我们的学习资料, 让git 帮我们保管, 叫做master分支

另一个分支是: 我们想让他人看到的版本, 我们起名叫做new_branch, 这个分支里面只有一个nothing.txt文件夹

所以在后续中, 我们只要切换当前的分支, git就可以自动帮我们切换文件夹中显示的内容

 

9.2 演示:

执行过程:

 

10 git checkout master

使用git checkout 分支名 可以进入一个分支!

此时通过执行:

git checkout master 

git checkout new_branch

两条指令, 我们就可以实现文件夹中内容的转换啦

 

11 封装与优化

最后, 我们只要将显示隐藏文件夹的选项关闭

写两个简单的.bat文件

就可以实现双机bat文件隐藏或者显示我们学习资料啦!

 

注意: 如果有汉字在bat文件中, 要使用ANSI编码哦

 

12 实际意义与git Clone浅谈

隐藏文件夹当然更快, 进过这一轮的操作, 可以很好的理解git 版本控制的强大! 

今天想从码云上clone一个项目, 一个项目有多个分支, 然后其中有两个分支分别是两个差别很大的项目, 项目A和项目B; 我都想要下载下来;

当我想下载分支A的时候, 码云给了我一个用于clone 的URL,

当我看完了项目A,想下载项目B的时候, 码云也提供给我了一个URL,

我惊奇且弱智的发现这两个URL居然是同一个... 不禁产生了思考...

我下载下来之后, 文件夹里的内容也是A的内容, 那我该怎么下载项目B呢?

难道覆盖过的分支就没办法恢复了吗?

查阅了几个资料才发现, 原来clone是将所有的版本都下载到了你的本地文件夹!  我们只需要按照上边演示的操作, 进入不同的分支, 就能自动变换文件夹中的内容! (这个问题太弱智太低级了, 百度上问的人比较少, 我查了白天资料才明白....) 

然后顺带着白天学习了一些 git 的基本使用, 就尝试着用本地的一些资料进行了版本控制的学习与深入的理解.

幸甚至哉!  发个博客!

希望可以帮助到一些和我一样刚开始学git的小白们更快的理解~

欢迎一起讨论学习!

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蜗牛小瀚

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

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

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

打赏作者

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

抵扣说明:

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

余额充值