1版本控制操作
新建一个仓库进行版本管理:
我建的新仓库:
新建一个文件:
写新的文件:
在下面需要填写一下版本信息:
OK啦,我们也看到版本数目从刚才的1个变成了2个:
点击commits,我们可以进入,看到这个项目一共有过多少次改版的列表:
可以从这里点击进去:
看看这一次改版的具体内容:
总结一下,改版的具体内容包括:是谁在什么时间做了什么修改,为什么要修改,修改的内容是什么。
不得不聊的还有另外一个非常重要的概念:版本号。
也就是这里显示的40位的十六进制数:
有些版本控制工具可能就是1、2、3、4。。。这样排下去,但是git就不会重复,全是这样的长长的一串类似于随机数的东西,实际使用中非常好用。任何时候只要拿到这个版本号,就可以拿到这次版本的详细内容。
我们看到这个页面的地址如下:
就是由github.com/用户名/项目名/commit/版本号组成。
既然版本号是随机生成,不分先后顺序的,那么git是怎么知道哪个版本在先,哪个版本在后的呢?
git在保存这个版本的时候,不只在里面保存了自己的版本号,还保存了它之前一个版本的版本号:
为什么这里是7位的捏?其实都是40位,只是在使用的时候可以简写,只取前7位,只要能和其他版本区分开就好啦。
试试看~我们将当前版本只取前几位,照样可以打开这个页面呢:
画个图来描述一下版本先后顺序是怎么关联的:
新的版本会指向旧的版本,以后再写其它新的版本,就会形成一条长长的改版历史线:
对应的就是这个网页,这个网页就是一条改版历史线:
2分支
git中很多核心技巧其实都是对分支进行操作,所以下面来说branch。
点击向下的小三角可以find或者create分支:
在输入框中输入分支的名字,如果该分支不存在,底下会提示创建一个这个分支,点击即可:
发现网页地址变成这样啦:
我们可以看到当前两个分支的内容是一样哒:
我之前理解错了,以为添加新分支相当于创建一个新的文件夹。其实分支的作用是项目从这里开始分成两条路,在这里之前的内容是一样的,在这里之后每条路各自发展,它的改变不会影响另一条路。
我们看到这里branches的数目也变成了2:
点击进去可以查看各个分支的详情,在这里也可以删除分支:
master是仓库的默认分支,是不可以被删除的。仓库的默认分支是可以重新设置的,也可以将master改成其他分支:
每次打开项目默认显示的是默认分支的内容。
现在我给新的分支做一些改动,添加一个文件:
发现07_linkedlist下有了新的文件,最上面还会有一个提示问你要不要Compare&pull request。
我们再看看master分支,并没有新文件哦:
调皮的我又在新的分支中修改了Test这个文件,添加了一行内容:
更新后在版本信息中查看,可以看到绿色是新添加的内容:
还是Test文件,我试着把第一行代码删掉,提交后查看最新版本信息,红色的是删除掉的内容哦:
真的太好用啦,添加和删除的内容清清楚楚明明白白分别用绿色和红色标记着~
这些改动都是在07_linkedlist分支中修改的,master中还是原先的样子哦。(刚开始理解错分支的用法给分支起了这么个名字,敲起来好麻烦。。。)
3分支合并
既然这里一直在提示,那么我决定合并一下分支。
点击,输入版本信息:
下面会有07_linkedlist分支(再次默默吐槽自己起的这个分支名)和master分支的对比:
我们看一下,里面有详细的对比,当确认这些都是我们要提交的修改时,即可点下这个绿色的按键(正好截了一个刚摁下去的瞬间,绿键灰啦):
然后会有下面这个页面,我是这样猜想的(因为是自己摸索所以用猜想两个字),因为我这个仓库只有我一个人来做,两个分支都是我在做,所以其中一个分支提出了合并到另一个分支的请求时,这份请求也是由我来通过哒,不知道是不是这样的呢。
点击上面框出的绿色按键,继续点击下面这个绿色按键。
OK了:
再看master分支中发现都有07_linkedlist分支中的这些内容啦:
我们可以看到它的版本信息:
对github的用法还在慢慢摸索中,真的好强大呀。有了初步的熟悉,希望以后可以用的熟练,发掘它的更多用法~但是可能不会更新在这里啦,因为边用边截屏好费时间~入门比较重要所以写在这里作为记录。
哈哈~开心,虽然是很简单的操作,可是还是有点小成就感呢。
附上两个教程,其中视频教程好多都是桌面版的操作: