阅读 126

SourceTree的基本使用

今日目标

  • 能够掌握SourceTree 安装
  • 能够掌握SourceTree 连接远程仓库
  • 能够掌握SourceTree克隆,拉取,提交,推送
  • 能够掌握SourceTree 新建/切换/合并分支
  • 能够掌握SourceTree 冲突解决
  • 能够掌握SourceTree 提交PR(Pull Request)

一、Github Desktop | SourceTree | TortoiseGit 可视化管理工具对比

  1. Github Desktop软件介绍

简介:GitHub Desktop 是一个可让您使用 GUI 而非命令行或网络浏览器与 GitHub 交互的应用程序。 GitHub Desktop 鼓励您和您的团队使用最佳实践协作处理 Git 和 GitHub。 您可以使用 GitHub Desktop,通过视觉确认更改从桌面完成大部分 Git 命令。 您可以使用 GitHub Desktop 推送到、从中拉取和克隆远程仓库,以及使用协作工具,如归因提交和创建拉取请求。

官方文档:docs.github.com/cn/desktop

image


  1. Sourcetree软件介绍

简介:精美的 Git 图形用户界面,简约而强大。拥有可视化界面的项目版本控制软件,适用于git项目管理。

官方文档:www.sourcetreeapp.com/

  1. TortoiseGit软件介绍

简介:TortoiseGit provides overlay icons showing the file status, a powerful context menu for Git and much more!

官方文档:tortoisegit.org/

二、SourceTree介绍和Atlassian账号注册和登录教程

1. SourceTree简单介绍

a)为什么要用SourceTree

今天来聊聊git可视化工具SourceTree的使用,主要是因为git操作是我们在项目中频繁用到了,频繁用到就注定会遇到各种棘手小问题,比如代码的合并,冲突,版本回退等。敲命令时无论老手新手都小心翼翼,稍有不慎就会出错,在大型项目里如果代码版本控制出错的话,代价是很大的,可能这个月的奖金就没了。

当然现在很多用编辑器都自带git管理工具,如PHPStorm,VSCode,IDEA等都集成了自己的git管理工具,不过就我个人的使用习惯和经历来说,这些编辑器自带的git管理工具并不如专业的git可视化工具好用,毕竟术业有专攻嘛。

b)Git可视化工具是什么

我们安装git之后,想要对代码版本进行操作,必须通过Git Bash敲击命令行的方式来实现。但是敲击命令行的时候,我们并不能实时的看到我们的代码版本改变前后的变化,如果遇到强迫症的程序员,还必须再去线上的git仓库瞅一眼才放心。

另外,敲击命令行看起来简单方便,其实是很容易出错的,可能会敲错,可能会记错。有时候一个命令的错误,可能就需要一两个小时去弥补。

我们都知道Linux系统安装需要敲命令行,而Windows系统鼠标点击就可以。Windows就可以理解为是可视化的,当然现在Linux系统也有很多优秀的界面可视化工具。git可视化工具就像Linux系统的界面可视化工具,我们不必再敲命令行,直接在工具界面就可以对代码版本进行操作。

目前进行多款Git可视化工具使用看来,SourceTree是最好用,稳定,易操作的可视化工具。所以来今天我们介绍一下SourceTree。我会从安装到使用,把基本操作都详细的写一遍,并且录制对应的gif动图。

2. SourceTree下载地址

SourceTree是由Atlassianhttps://www.atlassian.com/它稳定易操作,可以连接任何Git库。

首先我们打开官网地址https://www.sourcetreeapp.com,选择Windows或者Mac版本,点击下载==>勾选同意协议==>下载。如下图所示:

image

3. SourceTree Atlassian账号注册和登录

注册地址https://www.atlassian.com/zh/try/cloud/signup?product=jira-software.ondemand

imageimage

确定邮箱验证就可以了

image

登录邮箱进行验证

image

填写你的站点名称 image

看到此页面说明注册成功,接下来就是回答问题将有助于我们个性化您的体验

image

4. SourceTree注册安装

默认你已经安装了git,如果没有安装git,请先安装git。下载完成之后安装如下图: 下一步==>下一步==>下一步==>输入用户名和用户邮箱==>下一步==>加载SSH密钥?选择否。

image

大功告成!

安装成功界面如下:

image

三、SourceTree使用详解

以最常用的功能

克隆项目

我们可以打开本地的仓库,也可以从远程拉取一个新的仓库。

以远程克隆为例:

image

克隆中

image

当前项目克隆完毕如下:

image

拉取并切换至远端新分支

展开“远程”,右键“origin”,点击“从origin获取”,展开“origin”,双击对应分支,“检出新分支”确定即可。

新建本地分支

点击分支==>输入新分支名字==>创建分支,创建完成后会自动切换至这个新分支。

本地新建分支推送至远端

新建本地分支之后==>右键当前新建分支==>推送到==>origin==>推送

切换本地分支

双击要切换的分支,即可切换至对应分支。

提交代码

两种方式:

1,暂存所有或暂存所选==>填写提交说明==>提交==>推送至指定分支

2,暂存所有或暂存所选==>填写提交说明==>勾选“立即推送变更到XXXX”==>提交

合并其他分支到当前分支

比如要合并xiaoMing分支到bigIce分支,首先切换到bigIce分支==>右键xiaoMing分支==>选择“合并xiaoMing至当前分支”==>确定

解决冲突

对有冲突的文件,SourceTree可以在文件状态里右键对应的文件,可选择以当前版本解决冲突,或者以传入版本解决冲突。

但是我们一般是在编辑器里解决,这样解决完冲突比较方便验证一下代码是否有错误。如果解决完毕没有错误,在产生冲突的对应文件右键==>标记为已解决即可。

版本回退

在History右键某次提交记录==>重置当前分支至此次提交==>确定。

贮藏代码

贮藏代码的作用主要是:

1,拉取代码前避免因冲突不能拉取。

2,当前代码暂时不需要,但是以后可能会用到。

如果同事小明在文件A新增了一段代码并上传,那么此时我们获取并拉取代码后,就会显示当前代码与拉取的代码有冲突,从而不能拉取。此时需要先将代码贮藏。

贮藏完毕后再拉取代码,拉取完代码右键对应的贮藏,应用当前贮藏,然后解决冲突即可。

贮藏只会贮藏在git管理中存在的文件,新增的文件不会被贮藏。

贮藏和应用贮藏:

贮藏 菜单栏贮藏==>输入贮藏描述==>确定 应用贮藏 侧边栏贮藏==>应用贮藏区XXXX==>确定

其它注意点

要按照获取==>拉取==>提交==>推送的步骤来操作,如果没有获取拉取,直接提交推送很可能会由于同事在你之前推送了同文件的代码,产生报错,从而推送失败。

如果并没有冲突,我们需要重新走一遍获取==>拉取==>提交==>推送的步骤即可。

如果有冲突,解决完冲突再走一遍获取==>拉取==>提交==>推送的步骤即可。

相信通过上面的学习,你一定能在项目中熟练使用SourceTree了,这个可视化工具还是很简单易学的。

四、SourceTree如何提交PR(Pull Request)

前言

github或gitee 上有很多优秀的开源项目,很多时候我们不仅仅只是满足于使用,同时也想一起参与开源项目的开发,贡献自己的代码。接下来就给大家介绍一下如何在 gitee 上提交 PR,让我们一起为开源社区做贡献。

1、fork你要参与的项目

在 gitee 上找到你想要参与的开源项目(这里以 林间有风/lin-ui 为例),然后点击右上角的 fork 按钮,就会在你自己的代码仓库中创建一个此开源项目的副本,后续所有代码提交都提交到此仓库,这样就不必担心未经审核的代码弄乱了原始仓库。

image

image

image

2、克隆本地

image

使用SourceTree进行克隆项目

image

3、根据文档创建分支

先从远程devlop分支检出新分支到本地

image

基于 devlop 创建分支

image

4、提交修改的代码到远程代码库

image

image

image

5、提交 Pull Request

第四步提交成功后,进入到自己的gitee上fork的开源项目,创建一个pull request。 image

image

到这里整个流程就结束了,下面就是耐心等待matainer的审核即可。

五、总结回顾

Sourcetree中的基本名词说明:

克隆/新建(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库。

提交(commit):将暂存区文件上传到本地代码仓库。

推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致(十分注意:这样你才能达到和别人最新代码同步的状态,同时也能够规避很多不必要的问题)。

拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作(git pull=git fetch+git merge)。

获取(fetch):从远程仓库获取信息并同步至本地仓库。

分支(branch):创建/修改/删除分枝。

合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消。

贮藏(git stash):保存工作现场。

丢弃(Discard):丢弃更改,恢复文件改动/重置所有改动,即将已暂存的文件丢回未暂存的文件。

标签(tag):给项目增添标签。

工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分支。

(terminal):可以输入git命令行。

每次拉取和推送的时候不用每次输入密码的命令行:git config credential.helper osxkeychain sourcetree。

检出(checkout):切换不同分支。

添加(add):添加文件到缓存区。

移除(remove):移除文件至缓存区。

重置(reset):回到最近添加(add)/提交(commit)状态。

文章分类
后端
文章标签