赞
踩
能够掌握SourceTree 安装
能够掌握SourceTree 连接远程仓库
能够掌握SourceTree克隆,拉取,提交,推送
能够掌握SourceTree 新建/切换/合并分支
能够掌握SourceTree 冲突解决
能够掌握SourceTree 提交PR(Pull Request)
简介:GitHub Desktop 是一个可让您使用 GUI 而非命令行或网络浏览器与 GitHub 交互的应用程序。 GitHub Desktop 鼓励您和您的团队使用最佳实践协作处理 Git 和 GitHub。 您可以使用 GitHub Desktop,通过视觉确认更改从桌面完成大部分 Git 命令。 您可以使用 GitHub Desktop 推送到、从中拉取和克隆远程仓库,以及使用协作工具,如归因提交和创建拉取请求。
官方文档:https://docs.github.com/cn/desktop
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CVrQnUYs-1628757632107)(28B6151754464A32998283AA9198BCE7)]
简介:精美的 Git 图形用户界面,简约而强大。拥有可视化界面的项目版本控制软件,适用于git项目管理。
官方文档:https://www.sourcetreeapp.com/
简介:TortoiseGit provides overlay icons showing the file status, a powerful context menu for Git and much more!
官方文档:https://tortoisegit.org/
今天来聊聊git可视化工具SourceTree的使用,主要是因为git操作是我们在项目中频繁用到了,频繁用到就注定会遇到各种棘手小问题,比如代码的合并,冲突,版本回退等。敲命令时无论老手新手都小心翼翼,稍有不慎就会出错,在大型项目里如果代码版本控制出错的话,代价是很大的,可能这个月的奖金就没了。
当然现在很多用编辑器都自带git管理工具,如PHPStorm,VSCode,IDEA等都集成了自己的git管理工具,不过就我个人的使用习惯和经历来说,这些编辑器自带的git管理工具并不如专业的git可视化工具好用,毕竟术业有专攻嘛。
我们安装git之后,想要对代码版本进行操作,必须通过Git Bash敲击命令行的方式来实现。但是敲击命令行的时候,我们并不能实时的看到我们的代码版本改变前后的变化,如果遇到强迫症的程序员,还必须再去线上的git仓库瞅一眼才放心。
另外,敲击命令行看起来简单方便,其实是很容易出错的,可能会敲错,可能会记错。有时候一个命令的错误,可能就需要一两个小时去弥补。
我们都知道Linux系统安装需要敲命令行,而Windows系统鼠标点击就可以。Windows就可以理解为是可视化的,当然现在Linux系统也有很多优秀的界面可视化工具。git可视化工具就像Linux系统的界面可视化工具,我们不必再敲命令行,直接在工具界面就可以对代码版本进行操作。
目前进行多款Git可视化工具使用看来,SourceTree是最好用,稳定,易操作的可视化工具。所以来今天我们介绍一下SourceTree。我会从安装到使用,把基本操作都详细的写一遍,并且录制对应的gif动图。
SourceTree是由Atlassian:
https://www.atlassian.com/
它稳定易操作,可以连接任何Git库。
首先我们打开官网地址:https://www.sourcetreeapp.com
,选择Windows或者Mac版本,点击下载==>勾选同意协议==>下载。如下图所示:
注册地址:
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)]
默认你已经安装了git,如果没有安装git,请先安装git。下载完成之后安装如下图: 下一步==>下一步==>下一步==>输入用户名和用户邮箱==>下一步==>加载SSH密钥?选择否。
大功告成!
安装成功界面如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8fbXPgPw-1628757632157)(D20751915AD24CF2995BCB79A97FF3C6)]
以最常用的功能
我们可以打开本地的仓库,也可以从远程拉取一个新的仓库。
以远程克隆为例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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了,这个可视化工具还是很简单易学的。
github或gitee 上有很多优秀的开源项目,很多时候我们不仅仅只是满足于使用,同时也想一起参与开源项目的开发,贡献自己的代码。接下来就给大家介绍一下如何在 gitee 上提交 PR,让我们一起为开源社区做贡献。
在 gitee 上找到你想要参与的开源项目(这里以
林间有风/lin-ui
为例),然后点击右上角的 fork 按钮,就会在你自己的代码仓库中创建一个此开源项目的副本,后续所有代码提交都提交到此仓库,这样就不必担心未经审核的代码弄乱了原始仓库。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c2QpVxsV-1628757632184)(44E483D76FFD44B09F546D16B3684762)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nNw0Naye-1628757632189)(C5DA5A529AA643AF9CA14C4355FDE0BA)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DkE1Mn2N-1628757632190)(26F0CF4FF2D84E0C920168571C3CA847)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZlDx3XcY-1628757632192)(511C468BBF5549D6903D60B6729E2606)]
使用SourceTree进行克隆项目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zByvkBHI-1628757632193)(4E64CD2D62744643B5CD4E628C6508D3)]
先从远程
devlop
分支检出新分支到本地
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4XUforPp-1628757632195)(E4B493831EE34EBABC6F62B2CFA95FF7)]
基于 devlop 创建分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bI11SANu-1628757632196)(280FFC2544B94FAEAED4E5CAF3B93F03)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-klZjdTfh-1628757632198)(053DF63E9B804B5780BC8BDCE126D3DE)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3spWQzor-1628757632200)(E0741D02818745B192B380039E56FC37)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bH6DcUqJ-1628757632201)(E1E50062388943DDB94DE02FAB036647)]
第四步提交成功后,进入到自己的gitee上fork的开源项目,创建一个pull request。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0ta7RS8E-1628757632204)(C97B0C4D5D1047A9987FD6C2F8B3938A)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oeNkQKj6-1628757632205)(2E6CECF38E9C44068603877C6D614756)]
到这里整个流程就结束了,下面就是耐心等待matainer的审核即可。
克隆/新建(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)状态。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。