虽然感觉并没有什么暖用,但姑且还是写出来留作纪念好了

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

Git的图形化工具使用教程的更多相关文章

  1. gitk、Git GUI 图形化工具中文显示乱码的解决方案

    在Windows下使用gitk.Git-Gui时,可能会出现代码中的中文乱码的情况.解决方法:在软件的安装目录下,在Git\mingw64\etc\gitconfig文件末尾添加: [gui]enco ...

  2. GIT → 09:TortoiseGit 图形化工具

    GIT → 09:TortoiseGit 图形化工具

  3. MacOS系统下的图形化工具

    MacOS系统下的图形化工具 MacOS系统下安装了Git后,发现如果Git中有中文文档操作还是比较麻烦(需要输入中文的文件名).图形化对Git的操作还是相对于方便一些.所以准备找一个图形化的工具. ...

  4. python+pycharm+PyQt5 图形化界面安装教程

    python图形化界面安装教程 配置环境变量 主目录 pip所在目录,及script目录 更新pip(可选) python -m pip install --upgrade pip ps:更新出错一般 ...

  5. Python音视频开发:消除抖音短视频Logo的图形化工具实现

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解>节介绍了怎么通过Python+Moviepy+OpenCV实现 ...

  6. Moviepy音视频开发:视频转gif动画或jpg图片exe图形化工具开发案例

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 老猿之所以学习和研究Moviepy的使用,是因为需要一个将视频转成动画的工具,当时在网上到处搜索查找免费使用工具,结果找了很多自称免费的工具,但转完 ...

  7. js正则表达式图形化工具-rline

    github地址:https://github.com/finance-sh/rline 在线demo: http://lihuazhai.com/demo/test.html 这是一个js正则表达式 ...

  8. Linux下链接数据库图形化工具

    (一).Linux环境下mysql的安装.SQL操作 Linux下安装MySQL (rmp --help) 基本步骤:上传软件->检查当前Linux环境是否已经安装,如发现系统自带的,先卸载-& ...

  9. 6.MySQL图形化工具的使用

    6.图形化工具的使用6.1 Mysql Workbench Mysql Workbench是Mysql官方推出的集成图形化工具,替代了之前的图形化管理工具Mysql Administrator和图形化 ...

随机推荐

  1. 平均值(Mean)、方差(Variance)、标准差(Standard Deviation) (转)

    http://blog.csdn.net/xidiancoder/article/details/71341345 平均值 平均值的概念很简单:所有数据之和除以数据点的个数,以此表示数据集的平均大小: ...

  2. 【大数据】MongoDB安装(转)

    https://note.youdao.com/share/?id=40be7f77434910e8860c5fd1ef5d24fe&type=note#/ MongoDB安装 环境 Cent ...

  3. Simple XOR Encryption/Decryption in C++ (And Several Other Languages)

    For details on how to implement XOR encryption using Go, see this post. If you are looking for XOR e ...

  4. android中使用SharedPreferences存储数据

    使用SharedPreferences存储数据还是比较简单的 1.添加或修改数据(没有数据就添加,有数据就是修改): SharedPreferences.Editor editor = getShar ...

  5. C#中RSA加密解密和签名与验证的实现

    RSA加密算法是一种非对称加密算法.在公钥加密标准和电子商业中RSA被广泛使用.RSA是1977年由罗纳德•李维斯特(Ron Rivest).阿迪•萨莫尔(Adi Shamir)和伦纳德•阿德曼(Le ...

  6. 【原】【BG】-一次虚拟化环境实践简要记录

    部分涉及到Linux.Nginx.tomcat.MySQL等的点滴操作记录,时间长了,就忘掉了,偶尔整理一下操作的history,就此简要备份一下: [原][BG]-一次虚拟化环境实践简要记录: ht ...

  7. Selenium2(webdriver)_定位不到元素常见原因及解决办法

    在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况,一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理 ...

  8. 使用变量向SQL Server 2008中插入数据

    QT通过ODBC连接数据库SQL Server 2008,进行数据插入时遇到的问题: 先把数据存入变量中,如何使用变量进行插入?插入语句该怎么写? QSqlQuery query(db); query ...

  9. Ajax的优缺点及工作原理?

    定义和用法: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).Ajax 是一种用于创建快速动态网页的技术.Ajax 是一种在无 ...

  10. ubuntu1604安装tensorflow

    操作系统 :ubuntu-16.04.2-desktop-amd64tensorflow版本: 1.0.0python版本 : 2.7.12 开启ssh : sudo apt install open ...