虽然感觉并没有什么暖用,但姑且还是写出来留作纪念好了
Git这种分布式版本控制系统最适合的就是单枪匹马搞开发的选手,不需要服务器,下载个git和图形工具,网速快十分钟就能搞定开始愉快的开发工作。我在搭建gitlab服务器时,查找了许多关于git的使用教程,他们中大多数都是使用命令行来操作,非常的专业,灵活。但git再怎么吹的玄乎完爆SVN,它终究只是一个工具而已,工具首先要满足需求,第二就是要好用,显然命令行是没有图形界面好用的。
在windows上的图形工具当然是小乌龟(TortoiseGit)最好用了,Mac则上SourceTree,不过我在mac上用SourceTree总是会有一些奇奇怪怪的小问题,所以我并没有怎么深入了解它。
第一章 Git的安装和图形工具安装
随便搜索关键词“git”,去到git官方网站。下载对应你所用的操作系统的版本,然后安装,一路下一步就行了,唯一一点需要注意的就是在如下界面时,要选择第三个选项,这样你克隆的代码就不会改变格式了。
安装好了之后,你随便找个空地右键一下,右键菜单里就出现了下面这些神奇的选项
其中git init here是在此创建一个版本库(创建在哪?你点哪就是哪啊),git gui是git自带的一个简易图形化工具,git bash是命令行工具
虽然介绍了它们三个,但并不会有什么用,如果你坚持觉得命令行用起来更酷炫,更自由,更有范。我承认你赢了
你可以去看廖雪峰老师关于git的教程
安装TortoiseGit也是如此简单,下载,安装,一路下一步,安装好了之后右键,又多了好多东西。
英文的小乌龟用起来爽不爽?当然不爽啦!所以我们可以在TortoiseGit的官网里下载汉化包,变成中文版。
第二章 TortoiseGit的基本操作
当你第一次使用TortoiseGit的时候,首先要确认你的身份,这样你提交的修改其他成员才知道是谁做出的修改,如果有问题该向谁询问
确认身份,右键-->TortoiseGit-->Setting,在打开的对话框里,左边选git,右边就会出现写用户名和邮箱的地方
这是已经设置好的状态
创建版本库
当你确认了自己的时,先选择一个自认为合适的目录作为工作区,例如下图中我选择了I:我的工作区 作为我的工作区
于是我在该目录下点击右键,选择“git在这里创建版本库”
出现以下界面,然后点击确定。
于是该目录就变成版本库了
在介绍基础操作之前,我们要理清几个概念,缓存区,本地版本库,远程版本库。
当你对工作目录下的文件修改,添加,删除时,这些操作都是存在于缓存区,你可以随时通过右键TortoiseGit里的还原来回到你未改动过的文件,但当你右键提交到了版本库之后,你的修改就被存入本地版本库中,这时你只能回溯到之前提交的版本
提交过后的修改只是存在于你本地的版本库,想让其他开发者能看到你的修改,就必须通过右键的git同步,将修改推送到gitlab上,其他开发者才能看到你的修改。
通过一次场景模拟来介绍git的使用
小明是一名刚入职的新员工,入职第一天,组长找到管理员让其为小明注册了gitlab(一种git服务器)的账号。并且组长将小明的账号添加到了gitlab项目组的名单里
小明按照使用手册上的指示登录了gitlab后,找到了他要开发的工程,复制了该工程的路径,又按照使用手册中的提示,将工程的版本库克隆到了他工作用的电脑的工作区目录下。可以开始工作了。
打开了克隆下来的版本库里面的文件,小明开始工作
他输入了好几十行的代码,感觉很满意,于是保存了一下,出去吃午饭了
吃完午饭回来,小明感觉之前好几十行的代码写的根本没有任何意思,但删起来实在是太麻烦了,于是他在保存的文件上右键选择还原
文件就回到了修改之前的样子
接着小明又写了好几千行的代码,仔细检查过后,他觉得写的很好,不用修改了,便保存了。
之后在空白处右键点击提交到当前分支master。
并且对此次修改添加了描述,然后提交了
小明觉得非常满足,于是把自己的修改推送到gitlab上。然后收拾东西下班了
第二天刚到公司,组长过来跟小明说他昨晚的提交的代码与上面的衔接不是非常完美,所以要小明修改一下,小明决定倒退回两个版本之前,从新编写。于是他右键文件选择追溯
选择切换/检出到了ID4的版本
小明并不需要原来的版本了,所以选择了覆盖当前分支,这样就不会出现多个分支了
再打开了一看,文件已经回到了前两个版本之前了
小明又可以愉快的工作了。
后记:小明的组长看到小明的工作记录之后问他道:“你为什么选择覆盖已存在的分支,而不是选择创建一个新的分支呢?这样万一你回滚之后后悔了不是还可以切换回原来的分支吗?”
小明答曰:“我并不知道什么叫分支。”
组长决定下一周给小明的奖金减少到三百块,并且写了一篇《git的进阶使用》交给小明。
转自 http://blog.csdn.net/qq_25144527/article/details/46235793