一、SourceTree安装

前言:SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,同时也是Mercurial和Subversion版本控制系统工具。支持创建、克隆、提交、push、pull 和合并等操作。

1.官网链接–>

2.下载你对应的版本下载好软件,双击安装,安装前要确认 安装了git,安装的时候会提醒你安装.net框架依赖,是自动完成的,但是等待的时间比较长。安装完成后会要求重启。

sourcetree添加账户 连接gitlab_远程仓库


sourcetree添加账户 连接gitlab_github_02


sourcetree添加账户 连接gitlab_sourcetree-教程_03


sourcetree添加账户 连接gitlab_远程仓库_04


3.到这里分为两种方式:(1)跳过注册,(2)注册登录

(1)跳过注册:在目录C:\Users{youruser}\AppData\Local\Atlassian\SourceTree 下创建文件accounts.json ,注意:{youruser}需要替换为登录系统用户名。

写入如下内容:

[
  {
    "$id": "1",
    "$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
    "Authenticate": true,
    "HostInstance": {
      "$id": "2",
      "$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount",
      "Host": {
        "$id": "3",
        "$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount",
        "Id": "atlassian account"
      },
      "BaseUrl": "https://id.atlassian.com/"
    },
    "Credentials": {
      "$id": "4",
      "$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
      "Username": "username@email.com"
    },
    "IsDefault": false
  }
]

重新启动软件,顺利进入界面。

(2)注册登录:这个时候需要 把下载好的VPN打开, 通过“ GO TO MYATLASSIAN” 去邮箱注册,如果没有VPN 会提示“Google ReCAPTCHA failed to load ”

sourcetree添加账户 连接gitlab_sourcetree-教程_05


sourcetree添加账户 连接gitlab_远程仓库_06


sourcetree添加账户 连接gitlab_sourcetree-教程_07

验证OK之后 点击“sign UP”,然后就会发邮件到你的指定邮箱,

下面这张就是邮箱的验证,点击进入邮箱验证

sourcetree添加账户 连接gitlab_github_08


然后回到Sourcetree,输入刚才注册的邮箱,昵称,密码

sourcetree添加账户 连接gitlab_sourcetree-教程_09


sourcetree添加账户 连接gitlab_sourcetree-教程_10


显示登录成功

sourcetree添加账户 连接gitlab_github_11


可以直接跳过

sourcetree添加账户 连接gitlab_github_12


安装完成,会弹出如下对话框,你可以选择自动下载。我用的是git 直接选择跳过就可以了。

sourcetree添加账户 连接gitlab_sourcetree-教程_13


二、SourceTree添加 ssh key 方法

1.使用 git 客户的生成公私钥:id_rsa、id_rsa.pub
安装成功之后这里需要配置秘钥,那么秘钥如何来呢,接着往下看
首先打开 下载好的git,

  • 1.1设置Git的user name和email:
$ git config --global user.name "xxx"
$ git config --global user.email "xxx.mail@xxx.com"
  • 1.2.生成SSH密钥过程:
    1.2.1.检查是不是已经存在密钥(能进去说明已经存在,就删掉文件夹,重新创建):
    cd ~/.ssh
  • 1.3.生成 SSH 密钥:
    $ ssh-keygen -t rsa -C “xxx.mail@xxx.com”
    按3个回车,密码为空。
  • 1.4.文件存放位置 ~/.ssh,如果是window的话就在:C:\Users\Administrator.ssh 下面,当然如果你不是 Administrator 用户的话,需要换成对应的用户。
  • sourcetree添加账户 连接gitlab_sourcetree-教程_14

  • 2.设置 SourceTree 的 SSH客户端
    配置SourceTree 的 SSH 客户的为:OpenSSH
  • sourcetree添加账户 连接gitlab_git_15

  • 设置 OpenSSH,这时候,SSH 密钥这一栏自然会去选择当前用户下的 .ssh 目录下的 id_rsa 这个私钥:
  • sourcetree添加账户 连接gitlab_git_16


三、SourceTree关联GitHub

添加 ~/.ssh/id_rsa.pub 文件内容到 git 服务器(gitlab、github等,这里就演示github)里面去。

1.比如你的 git 服务是 github,那么你需要在 https://github.com/settings/keys 里面添加 SSH key

sourcetree添加账户 连接gitlab_远程仓库_17


2.打开C:\Users\Administrator.ssh 下面的id_rsa.pub,全选复制,粘贴到如下地方:

sourcetree添加账户 连接gitlab_sourcetree-教程_18


3.打开SourceTree,点击添加一个 账户

sourcetree添加账户 连接gitlab_git_19


4.托管服务商选择github,托管地址输入你的github地址,验证选择Oauth,然后输入你的用户名,点击确定

sourcetree添加账户 连接gitlab_远程仓库_20


这样你就把source与你的github关联了,并且可以访问到你的所有github项目。

sourcetree添加账户 连接gitlab_sourcetree-教程_21


四、SourceTree的简单使用

1.clone(从远程仓库中克隆下来到本地)

点击 clone 按钮,在弹出层中填写,克隆路径,仓库存储地址,仓库名称等等

sourcetree添加账户 连接gitlab_sourcetree-教程_22


最后点击克隆,你便能后看到本地已经克隆了远程仓库的代码

sourcetree添加账户 连接gitlab_远程仓库_23


克隆成功后,默认分支只有master一个分支的,如果要 检出 develop分支,如图

点击 分支 ,右击, 选择 新的分支

sourcetree添加账户 连接gitlab_git_24


分支名称,点击创建分支,

sourcetree添加账户 连接gitlab_远程仓库_25


完成后,数据并没有或不是最新的,如下图

在 分支 右击,选择 创建拉取请求

sourcetree添加账户 连接gitlab_github_26


这时,在远程分支 里 输入要 拉取得远程分支名称

sourcetree添加账户 连接gitlab_sourcetree-教程_27


最后点击 在网上创建拉取请求 。2.create(本地代码写好后放到远程仓库中)

本地计算机上新建一个空文件夹(我创建的叫qq),打开sourcetree的create,选择路径,点击创建

sourcetree添加账户 连接gitlab_git_28


当你把代码敲完以后,打开sourcetree的工作副本可以看到文件是未暂存的,点击暂存所有,写上这次提交的内容注释(例如我修改了bug),点击提交

sourcetree添加账户 连接gitlab_git_29


sourcetree添加账户 连接gitlab_github_30


注意:这里的文件还只是暂存,你还需要推送才能把代码放到远程仓库里。

sourcetree添加账户 连接gitlab_git_31


这时候你就能在你的仓库中看到上传的文件了

sourcetree添加账户 连接gitlab_github_32

划重点:一个项目往往是多人协作完成的,每个人拉取得时候最好创建分支,方便管理和维护,每次敲完代码记得推送,以防电脑由于不可抗因素坏掉,至少你换个电脑还能在github上找回。