作者的其他平台:

| CSDN:https://blog.csdn.net/qq_41153943

| 掘金:https://juejin.cn/user/651387938290686

| 知乎:https://www.zhihu.com/people/1024-paper-96

| GitHub:https://github.com/JiangXia-1024?tab=repositories

| 公众号:1024笔记

本文大概3751字,读完共需10分钟

1 前言

Git分布式版本控制系统是我们日常开发中不可或缺的一部分,能够大大提高我们协同工作的效率。前面的一篇文章如何玩转Git介绍过Git的相关知识。在工作中往往我们需要使用Git的可视化管理工具进行版本控制。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit等等,我们公司主要使用的是SourceTree。该篇文章主要结合日常开发工作的对于sourctree的一些常用操作进行讲解和总结,帮助没有使用过的同学进行快速入门,希望能对大家有所帮助!

2 正文

首先当然是要说明Sourcetree的下载安装。

关于sourcetree各版本的下载:可以访问网址:

https://www.sourcetreeapp.com/download-archives

这里建议不要下载最新的版本,因为新版本有时候不太稳定,建议下载最新版本的前1-2个版本,我这里使用的是3.4.4版本。

下载完成之后是一个.exe的可执行文件,直接双击进行安装即可。

这里在安装SourceTree的过程中,需要通过账户登录,但注册或登录界面可能根本无法打开,导致软件无法正常安装。这时可以通过以下办法进行解决:

在目录C:\Users\{username}\AppData\Local\Atlassian\SourceTree 下创建文件accounts.json ,注意:{username}需要替换为登录系统用户名。如我的电脑路径为:

C:\Users\Administrator\AppData\Local\Atlassian\SourceTree。accounts.json文件的内容如下:

[{"$id": "1","$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity","IsDefault": false,"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.Api.Account.Basic.BasicAuthCredentials, SourceTree.Api.Account.Basic","Username": "","Email": null,"AvatarURL": null,"AuthenticationScheme": {"$type": "SourceTree.Api.Account.Basic.BasicAuthAuthenticationScheme, SourceTree.Api.Account.Basic","Value": "用户名/密码","Name": "Basic","Description": "密码","HeaderValuePrefix": "Basic","UsernameIsRequired": true},"Id": "","EmailHash": null,"DisplayName": null}},{"$ref": "1"}
]

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

这里假设前提是已经在本地电脑安装好了git,如果没有关于git的安装使用可以参考之前的文章:如何玩转Git。

前面的工作准备好了之后接下来就是关于SourceTree的配置以及使用了!

首先我们需要在SourceTree中添加SSH密钥。在菜单栏的工具栏选择选项菜单,SSH客户端配置,SSH秘钥选择:C:\Users\Administrator\.ssh\id_rsa.pub,然后SSH客户端选项选择OpenSSH,如下图所示:

‍‍‍‍‍‍‍‍‍‍‍‍‍‍

接下来就可以Clone远程的代码了,这里以自己的GitHub为例,其他的比如gitee也类似:

打开github,找到自己需要clone的源码,code选择ssh,复制地址,这里需要在github秘钥也进行配置,具体参考之前的文章即可:

然后打开sourcetree,clone项目到本地:

由上面我们可以发现每次Clone项目的时候,克隆下来的项目默认存储位置都是在C盘,如果一直放在C盘,则系统盘肯定会越来越小,电脑越来越卡,每次更改项目路径也挺麻烦,因此我们可以设置一个默认的项目存储位置:

点击工具—>选项—>一般—>找到项目目录设置Clone项目默认存储的位置:

在进行协同开发的时候往往需要新建不同的分支,用于不同的版本或者功能开发,最后再合并版本。

1、新建分支:

在新建分支时,我们需要在哪个主分支的基础上新建分支必须先要切换到对应的主分支才能到该主分支上创建分支,如下我们要在main分支上创建一个dev-1017新建分支:

因为前面选择了默认检出,所以这里自动检出了分支:

如果需要切换到其他分支,可以直接双击对应的分支切换到该分支,前提是需要先从远程检出该分支:

多个人在不同的分支进行开发完成后,需要合并分支版本然后进行送测,比如在main分支上点击右键,选择合并刚刚创建的dev-1017新建分支至当前分支即可进行合并,在合并代码之前我们都需要将需要合并的分支拉取到最新状态避免覆盖别人的代码,或者代码丢失:

代码完成之后需要提交代码:

将修改的代码提交到暂存区:

如果我们发现一个文件修改错了,那么可以右键这个文件,选择丢弃,将该文件的所有修改丢弃,回滚到你修改之前的状态:

如果你不想要这个文件了,发现这个文件新增错了,那么可以选择这个文件然后右键选择移除这个文件:

然后修改的文件就出现在了暂存区:

sourecetree还有个储藏功能:

这个主要是储藏你的文件,好吧这么解释等于没说,简单点理解就是比如我们开发的时候有很多的配置文件,但是一般我们开发的时候配置文件的部分数据比如数据库地址等等和线上的是不一样的,所以我们提交的时候有些时候是需要改成线上的地址,然后开发的时候拉取最新的线上地址再修改成开发的环境,这样就很麻烦,那么这时候我们就可以使用储藏功能,把我们修改的本地的开发环境的代码储藏起来,下次拉取了最新的线上代码之后我们直接选择存储的文件然后应用它就行了,避免了每次拉取最新代码之后再一次次的修改:

这里需要明确几个概念之间的区别:

1、提交和推送:有些人可能有疑问为啥我已经提交代码了,但是远程却没有发现我修改的代码呢?因为提交只是将暂存区的文件上传到我们本地的代码库,而推送则是将本地仓库同步至远程仓库,这样操作之后别人才能从远程拉取你修改的最新代码。

2、拉取和获取:这两个名词仅有一字只差,但是却有不同的功能。拉取(pull)是从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作(git pull=git fetch+git merge)。而获取(fetch)则只是从远程仓库获取信息并同步至本地仓库。所以一般推送之前需要先拉取一次,确保代码一致。

3、丢弃和移除:丢弃指的是丢弃更改,恢复文件改动/重置所有改动,即将已暂存的文件丢回未暂存的文件。移除则是移除文件至缓存区。

3 总结

这篇文章主要结合我日常开发工作的对于sourctree的一些常用操作进行讲解和总结,帮助没有使用过的同学进行快速入门,希望能对大家有所帮助!

如果你觉得本文不错就点赞分享给更多的人吧!

你也可以关注本公众号(1024笔记)免费获取海量学习资源(涵盖了C、python、Java、大数据、人工智能)以及笔面试题!

相关推荐:

  • Spring注解(三):@scope设置组件作用域

  • Spring常用注解大全,值得你的收藏!!!

  • Spring注解(七):使用@Value对Bean进行属性赋值

  • SpringBoot开发Restful风格的接口实现CRUD功能

  • Spring注解(六):Bean的生命周期中自定义初始化和销毁方法的四种方式

SourceTree使用教程图文详解相关推荐

  1. python3.6安装教程-python3.6环境安装+pip环境配置教程图文详解

    1.python安装可以跨平台 2.有两个版本2.7和3.6,第三方库适用2.7版,两个版本不兼容 windows安装: 第一种方法官网安装: 在官网下载安装包如图: 图下点击是默认下载32位所以我们 ...

  2. python详细安装教程环境配置-python3.6环境安装+pip环境配置教程图文详解

    1.python安装可以跨平台 2.有两个版本2.7和3.6,第三方库适用2.7版,两个版本不兼容 windows安装: 第一种方法官网安装: 在官网下载安装包如图: 图下点击是默认下载32位所以我们 ...

  3. python3.6.0怎么安装pip_python3.6环境安装+pip环境配置教程图文详解

    1.python安装可以跨平台 2.有两个版本2.7和3.6,第三方库适用2.7版,两个版本不兼容 windows安装: 第一种方法官网安装: 在官网下载安装包如图: 图下点击是默认下载32位所以我们 ...

  4. mysql安装教程8.0.21安装_mysql8.0.21安装教程图文详解

    1.下载 下载链接 点击download,这里可能需要登录甲骨文的账号,登录一下即可 2.解压 下载好会得到一个安装包 把它解压到一个能找到的目录下即可,我的是这样(my.ini文件你们应该没有) 3 ...

  5. MySQL Installer 8.0.21安装教程图文详解 转载

    MySQL Installer 8.0.21安装教程图文详解 原地址 1. 缘由 刚好需要在新系统上重新安装MySQL,便写了一份的下载安装教程,供查阅,以防日后细节有所遗忘. 2. 版本说明 MyS ...

  6. GitHub 使用教程图文详解(转)

    大纲: 一.前言 二.GitHub简介 三.注册GitHub账号 四.配置GitHub 五.使用GitHub 六.参与GitHub中其它开源项目 七.总结 注,GitHub官网:https://git ...

  7. storyboard(故事版)新手教程 图文详解 3.在故事版上使用scrollview

    继上一篇内容storyboard(故事版)新手教程 图文详解 2.为无约束的故事版添加约束 选中item2 此时上面什么都没有 添加一个scrollview 添加上下左右边距都为零 更新frame(不 ...

  8. mysql8.0.20 64位安装教程_windows 64位下MySQL 8.0.15安装教程图文详解

    先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置系统环境变量 复制解压后的mysql到C盘或者其他磁盘下 我们去系统的环境变量的path里添加一个mysql的配置  指向my ...

  9. mysql 8.064位安装_windows64位下MySQL8.0.15安装教程图文详解

    先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置系统环境变量 复制解压后的mysql到C盘或者其他磁盘下 我们去系统的环境变量的path里添加一个mysql的配置  指向my ...

最新文章

  1. Android 轮询最佳实践 Service + AlarmManager+Thread
  2. 分布式一致Hash算法
  3. git提交代码,合并同步分支
  4. 过程的首要目的是好的结果
  5. C# Windows服务相关
  6. 17.IDA-基本块的定义
  7. 转载:使用sklearn进行数据挖掘
  8. C和指针之数组编程练习3(判断矩阵是否为单位矩阵)
  9. RedShift到MaxCompute迁移实践指导
  10. spring boot html乱码,Spring-boot 字符集设置 解决乱码方案
  11. mysql 分库分表 建表,mysql 分库分表 建表MySQL常用操作
  12. OpenShift 4 之 GitOps(5)用ArgoCD配置其他OpenShift资源
  13. 浅析SQL SERVER执行计划中的各类怪相
  14. NoSQL、memcached介绍、安装memcached、查看memcached状态
  15. matlab实现kmeans聚类算法
  16. runOnUiThread
  17. 用python根据生日判断星座_pandas如何将生日按星座分组
  18. 炒股软件周期分析怎么调,股票周期设置怎么设置
  19. 收入时间序列——之模型探索篇
  20. np.degrees()

热门文章

  1. 电子计算机工程专业学什么,电子与计算机工程专业主要学什么 未来从事什么工作...
  2. linux时间同步命令shell,LINUX时间同步脚本或命令
  3. web ui自动化之模拟上传文件操作
  4. 图解 Git 工作原理,看了秒懂!
  5. 使用计算机传真,如何用电脑发网络传真?在电脑里怎么发传真?
  6. linux内核之alsa,Linux系统中的虚拟调音台Alsamixer的使用
  7. 计算机辅助测控电路设计报告,测控电路实验报告(20210407082438)
  8. R——投入产出表,直接消耗系数矩阵,完全消耗系数矩阵
  9. 神经网络和模糊控制区别,什么是模糊神经网络
  10. 小程序坑爹玩意儿的 U.createEvent is not a function报错问题汇总