Sourcetree基本操作介绍

部门最近在做SCM迁移到Git的试点,在初步搞定了服务端之后,接下来我们就要着手解决客户端使用的问题。

1. 概述

相较于命令行来说,GUI方式对于新手入门更简单一些,这也是Windows能稳稳站在操作系统使用榜榜首多年的重要原因。因此本次我们也打算以GUI工具作为Git客户端使用的切入点。我们选择的是 Atlassian公司出品的Sourcetree。

2. 基本操作

按照我们之前对于SVN的运用,本次我们将主要介绍如下在Sourcetree中如何进行以下操作:

  1. 拉取代码
  2. 提交代码
  3. 回滚代码
  4. 解决冲突
2.1 拉取代码
  1. Sourcetree顶部菜单栏"文件" > “克隆/新建”。
    Sourcetree基本操作介绍_第1张图片

  2. 在弹出的Tab页中,选择默认的"Clone",输入获取到的Git地址。
    Sourcetree基本操作介绍_第2张图片
    请注意笔者这里使用的HTTP格式的地址,默认情况下使用这种格式每次操作是需要输入用户名和密码的,因此我们采用下面这种格式来避免此类重复操作:

    # 把远程连接例如http://xxx/yyy.git 修改为http://username:password@xxx/yyy.git ,
    # 若是username或者password中有@,使用%40替换。
    http://username:[email protected]:790/root/firstgitlabproject.git
    
  3. 耐心等待Sourcetree拉取代码即可。

2.2 提交代码

在拉取完代码,进行完BUG修复或者Feature开发之后,我们就需要将本地的修改推送到远程Git服务器上。
Sourcetree基本操作介绍_第3张图片
这里笔者就不对GIT的基本概念进行赘述了,只需要按照以上如图所示,即可将本地更改推送到Git服务端。

这里将命令行和界面操作做一个简单的对照。

命令行 Sourcetree
git add 暂存
git commit 提交
git push 推送
2.3 回滚代码

这里的回滚大概分为三种:

  1. 回滚本地修改。(此时还未进行本地Commit)
  2. 回滚本地的Commit。(此时还未推送到远程Git服务器)
  3. 回滚已经推送到Server端的Commit。
2.3.1 回滚本地修改。

这个应该是三种情形种最简单的了,只需要在未暂存区选中对应的文件,右键选择"丢弃"即可。
Sourcetree基本操作介绍_第4张图片

2.3.2 回滚本地Commit。

这一类操作只涉及到研发人员本地的操作环境,相对来说简单很多。只需要选取所要回滚Commit之前的那个Commit节点,然后选择下图中的选项即可。
Sourcetree基本操作介绍_第5张图片
弹出的交互框中,三个选项中推荐直接使用默认的混合合并,然后点击确认即可。
Sourcetree基本操作介绍_第6张图片
以上操作即可将本地Commit回滚掉,接下来研发人员对文件进行再次的修改,而不需要增加额外的Commit。

这里额外说明下上图中三个选项的含义:

选项 含义
软合并 回退到暂存区
混合合并 回退到未暂存区(默认)
强行合并 直接把提交的文件reset (最好不要用)
2.3.3 回滚Server端Commit。

这一种要稍微复杂一些。首选我们需要选中想要进行回滚的Commit节点,进行如下操作:
Sourcetree基本操作介绍_第7张图片
弹出的交互框中,确认之后将自动生成类似下图中的Commit。
Sourcetree基本操作介绍_第8张图片
最后点击左上角的"推送"钮将自动生成的Commit推送到服务端即可。

2.4 解决冲突

日常软件开发中,偶尔也会因为某些原因发生代码冲突的问题,这类问题在Sourcetree中表现如下:
Sourcetree基本操作介绍_第9张图片

解决方法:
右键选中发生冲突的文件,最终选择打开外部合并工具。
Sourcetree基本操作介绍_第10张图片
这里我们使用Beyond Compare 作为对比工具。
Sourcetree基本操作介绍_第11张图片
人工解决完冲突之后,再次提交文件即可。(注意冲突解决完毕之后本地会生成一个后缀为 .org 的文件,切勿提交!)

重要提示:

  1. 养成先pull,再编码的好习惯。
  2. 养成先pull,再push的好习惯。

3. 后续

Sourcetree的操作肯定还有不少,诸如作为Git重要亮点之一的分支等,就留待之后再介绍吧/

4. Links

  1. 你确定你能记住那么多的git命令吗?快试试Sourcetree吧
  2. SourceTree使用方法
  3. Office Site - get-started-with-sourcetree

你可能感兴趣的:(Sourcetree)