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 推送到、从中拉取和克隆远程仓库,以及使用协作工具,如归因提交和创建拉取请求。

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CVrQnUYs-1628757632107)(28B6151754464A32998283AA9198BCE7)]


  1. Sourcetree软件介绍

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

官方文档:https://www.sourcetreeapp.com/

  1. TortoiseGit软件介绍

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

官方文档:https://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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KbF1S7O8-1628757632126)(0914959DA09F4CF083F1E8801979D329)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eI2lG51a-1628757632133)(1E577049929D4F41857C990ED264A3E2)]

确定邮箱验证就可以了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Rh86flP-1628757632138)(DCE2B918CD2C471A88AB9EEBA7014C76)]

登录邮箱进行验证

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2nsoPUZw-1628757632141)(D089B835F239431480409C569787E220)]

填写你的站点名称
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pQteak7I-1628757632146)(35EE974F99B5443DB90161D80FF8BC28)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ctUsSsrn-1628757632148)(79B7B94BA5204B1D8A83FD05304F64CD)]

4. SourceTree注册安装

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

image

大功告成!

安装成功界面如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8fbXPgPw-1628757632157)(D20751915AD24CF2995BCB79A97FF3C6)]

三、SourceTree使用详解

以最常用的功能

克隆项目

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

以远程克隆为例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mr5agUmG-1628757632161)(89718076BBD449EEAC277FA52B3DA164)]

克隆中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lD2xAp0W-1628757632163)(5A25A5EFBB124BD9B017979972A8039E)]

当前项目克隆完毕如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FK7soIlA-1628757632166)(537F4ACFAE194D2C9EC3D965104E6B7B)]

拉取并切换至远端新分支

展开“远程”,右键“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 按钮,就会在你自己的代码仓库中创建一个此开源项目的副本,后续所有代码提交都提交到此仓库,这样就不必担心未经审核的代码弄乱了原始仓库。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c2QpVxsV-1628757632184)(44E483D76FFD44B09F546D16B3684762)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nNw0Naye-1628757632189)(C5DA5A529AA643AF9CA14C4355FDE0BA)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DkE1Mn2N-1628757632190)(26F0CF4FF2D84E0C920168571C3CA847)]

2、克隆本地

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZlDx3XcY-1628757632192)(511C468BBF5549D6903D60B6729E2606)]

使用SourceTree进行克隆项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zByvkBHI-1628757632193)(4E64CD2D62744643B5CD4E628C6508D3)]

3、根据文档创建分支

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4XUforPp-1628757632195)(E4B493831EE34EBABC6F62B2CFA95FF7)]

基于 devlop 创建分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bI11SANu-1628757632196)(280FFC2544B94FAEAED4E5CAF3B93F03)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-klZjdTfh-1628757632198)(053DF63E9B804B5780BC8BDCE126D3DE)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3spWQzor-1628757632200)(E0741D02818745B192B380039E56FC37)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bH6DcUqJ-1628757632201)(E1E50062388943DDB94DE02FAB036647)]

5、提交 Pull Request

第四步提交成功后,进入到自己的gitee上fork的开源项目,创建一个pull request。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0ta7RS8E-1628757632204)(C97B0C4D5D1047A9987FD6C2F8B3938A)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oeNkQKj6-1628757632205)(2E6CECF38E9C44068603877C6D614756)]

到这里整个流程就结束了,下面就是耐心等待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)状态。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sourcetree是一个可视化工具,用于更好地管理Git记录树和进行一些常见的操作。其中一些使用方法包括: 1. 对于撤销操作,你可以使用Sourcetree来查看Git记录树并选择相应的撤销操作。 2. 使用Sourcetree创建和使用分支非常方便。与TortoiseGit不同,Sourcetree允许你在任何版本上创建分支,并且可以按照分支进行代码检出。分支的添加也很简单。 3. Sourcetree集成了Beyond Compare 4,可以很好地解决文件冲突。安装和配置Beyond Compare 4也很简单。 总之,Sourcetree提供了一种直观且方便的方式来管理Git操作,包括撤销操作、分支管理和解决冲突等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SourceTree基本使用指南](https://blog.csdn.net/mevicky/article/details/124635039)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SourceTree使用方法](https://blog.csdn.net/amyloverice/article/details/79397034)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值