Git管理神器SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)

这篇具有很好参考价值的文章主要介绍了Git管理神器SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

  俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit,综合网上的一些文章分析和自己的日常开发实践心得个人比较推荐开发者使用SourceTree,因为SourceTree同时支持Windows和Mac,并且界面十分的精美简洁,大大的简化了开发者与代码库之间的Git操作方式。该篇文章主要是对日常开发中使用SourceTree可视化管理工具的一些常用操作进行详细讲解。

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

 https://blog.csdn.net/hmllittlekoi/article/details/104504406/

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

https://www.cnblogs.com/Can-daydayup/p/13128511.html

连接Gitee or GitHub,获取代码:

注意:这里介绍的是使用SSH协议获取关联远程仓库的代码,大家也可以直接使用过HTTPS协议的方式直接输入账号密码获取关联代码!

全面概述Gitee和GitHub生成/添加SSH公钥:

https://www.cnblogs.com/Can-daydayup/p/13063280.html

在SourceTree中添加SSH密钥:

工具=>选择:

sourcetree推送,实用工具,git

添加SSH密钥位置:C:\Users\xxxxx\.ssh\id_rsa.pub:

sourcetree推送,实用工具,git

SSH客户端选择OpenSSH:

sourcetree推送,实用工具,git

Clone对应托管平台仓库(以Gitee为例):

打开码云,找到自己需要Clone的仓库!

sourcetree推送,实用工具,git

sourcetree推送,实用工具,git

sourcetree推送,实用工具,git

SourceTree设置默认工作目录:

  由上面我们可以发现每次Clone克隆项目的时候,克隆下来的项目默认存储位置都是在C盘,因此每次都需要我们去选择项目存放的路径,作为一个喜欢偷懒的人而言当然不喜欢这种方式啦,因此我们可以设置一个默认的项目存储位置。

设置SourceTree默认项目目录:

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

sourcetree推送,实用工具,git

SourceTree代码提交:

1.首先切换到需要修改功能代码所在的分支:

sourcetree推送,实用工具,git

sourcetree推送,实用工具,git

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

sourcetree推送,实用工具,git

3.将暂存区中的代码提交到本地代码仓库:

注意:多人同时开发项目的时候,不推荐默认选中立即推送变更到origin/develop,避免一些不必要的麻烦!

sourcetree推送,实用工具,git

 4.代码拉取更新本地代码库,并将代码推送到远程仓库:

sourcetree推送,实用工具,git

 勾选需要推送的分支,点击推送到远程分支:

sourcetree推送,实用工具,git

代码成功推送到远程代码库:

sourcetree推送,实用工具,git

5.在Gitee中查看推送结果:

sourcetree推送,实用工具,git

SourceTree分支切换,新建,合并:

1.分支切换:

双击切换:

sourcetree推送,实用工具,git

单击鼠标右键切换:

sourcetree推送,实用工具,git

2.新建分支:

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

sourcetree推送,实用工具,git

sourcetree推送,实用工具,git

3.合并分支:

注意:在合并代码之前我们都需要将需要合并的分支拉取到最新状态(**避免覆盖别人的代码,或者丢失一些重要文件)!!!!!

在master分支上点击右键,选择合并feature-0613至当前分支即可进行合并:

sourcetree推送,实用工具,git

分支合并成功:

sourcetree推送,实用工具,git

SourceTree代码冲突解决:

首先我们需要制造一个提交文件遇到冲突的情景:

在SoureceTree中在Clone一个新项目,命名为pingrixuexilianxi2,如下图所示:

sourcetree推送,实用工具,git

我们以项目中的【代码合并冲突测试.txt】文件为例:

sourcetree推送,实用工具,git

在pingrixuexilianxi2中添加内容,并提交到远程代码库,添加的内容如下:

sourcetree推送,实用工具,git

在pingrixuexilianxi中添加内容,提交代码(不选择立即推送变更到origin/master),拉取代码即会遇到冲突:

sourcetree推送,实用工具,git

sourcetree推送,实用工具,git

 

sourcetree推送,实用工具,git

冲突文件中的内容:

sourcetree推送,实用工具,git

直接打开冲突文件手动解决冲突:

由下面的冲突文件中的冲突内容我们了解到:

<<<<<<< HEAD6月19日 pingrixuexilianxi添加了内容=======6月18日 pingrixuexilianxi2修改了这个文件哦>>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5
<<<<<<< HEAD到 =======里面的【6月19日 pingrixuexilianxi添加了内容】是自己刚才的Commit提交的内容=======到 >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5里面的【6月18日 pingrixuexilianxi2修改了这个文件哦】是远程代码库更新的内容(即为pingrixuexilianxi2本地代码库推送修改内容)。

手动冲突解决方法:

  根据项目需求删除不需要的代码就行了,假如都需要的话我们只需要把 <<<<<<< HEAD=======     >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5都删掉冲突就解决了(注意,在项目中最后这些符号都不能存在,否则可能会报异常)。

最后将冲突文件标记为已解决,提交到远程仓库:

sourcetree推送,实用工具,git

采用外部文本文件对比工具Beyond Compare解决冲突:

SourceTree配置文本文件对比工具Beyond Compare:

工具=>选项=>比较:

 

sourcetree推送,实用工具,git

sourcetree推送,实用工具,git

使用Beyond Compare解决冲突:

Beyond Compare使用技巧:

官方全面教程:https://www.beyondcompare.cc/jiqiao/

SourceTree打开外部和合并工具:

sourcetree推送,实用工具,git

注意:第一次启动Beynod Compare软件需要一会时间,请耐心等待:

sourcetree推送,实用工具,git

Beynod Compare进行冲突合并:

sourcetree推送,实用工具,git

点击保存文件后关闭Beynod Compare工具,SourceTree中的冲突就解决了,在SourceTree中我们会发现多了一个 .orig 的文件。接着选中那个.orig文件,单击右键 => 移除,最后我们推送到远程代码库即可:

sourcetree推送,实用工具,git

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)状态。

Git分布式版本控制器常用命令和使用:

当然作为一个有逼格的程序员, 一些常用的命令我们还是需要了解和掌握的,详情可参考我之前写过的文章:

https://www.cnblogs.com/Can-daydayup/p/10134733.html

SourceTree如何提交PR(Pull Request):

Pull Request提交相关操作参考该篇文章:

https://www.jianshu.com/p/b365c743ec8d

1、fork 项目:

sourcetree推送,实用工具,git

2、克隆本地

sourcetree推送,实用工具,git

 打开Git Bash输入仓库克隆命令:

git clone https://github.com/liangtongzhuo/taro-ui.git

3、根据文档创建分支

拖进 SourceTree,基于 dev 创建分支如下图:

sourcetree推送,实用工具,git

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

文章上面已经提到了使用SourceTree提交的相关操作,可参考:

https://www.cnblogs.com/Can-daydayup/p/13128633.html#_label5(或者Ctrl F:SourceTree代码提交)

当然也可以使用git命令提交:

git add .  --提交所有修改的文件到本地暂存区git commit -m"fix(dos):修正文字 "   --提交到本地代码库git push  --提交到github中的远程代码库

5、提交 Pull Request

第四步提交成功后,进入原来fork的仓库,点击 Compare

sourcetree推送,实用工具,git

 提交你的说明,选择合并的分支即可,剩下等待合并。

sourcetree推送,实用工具,git文章来源地址https://www.toymoban.com/news/detail-768478.html

到了这里,关于Git管理神器SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【git】图形化git管理工具SourceTree

    命令行操作确实很方便快捷,但图形化工具看起来更直观,在git仓库管理中也是这样。 这一节来介绍使用git图形化管理工具 SourceTree 。 地址: https://www.sourcetreeapp.com/ 目前还只支持Windows和Mac OS。 在我们掌握git命令行的提交和分支管理后,再使用GUI工具,会发现更高效。 添加

    2024年02月15日
    浏览(68)
  • 怎么让手机变电脑模式?装酷神器使用教程详解

    随着智能手机屏幕越来越大,性能越来越强,功能越来越完善,除了商务办公,平时的一些生活娱乐需求,用手机如今完全可以替代电脑使用,因此很多朋友玩电脑的时间越来越少了,有空都在刷手机。不过,对于一些电脑爱好者朋友来说,如果手机上能用上熟悉的Windows系统

    2024年02月07日
    浏览(89)
  • git——使用ssh连接远程仓库

    在进行项目操作前,希望你拥有安装了node.js 和Git Bash Here 当然了,如果你是由于 Git Bash Here 版本过低等其他原因导致无法连接的远程仓库,说明你是有名字和密码的,所以可以直接使用第二步获取你本地的邮箱和密码。 效果如下图 新增 ssh 密钥需要校验git密码 这样,就算是

    2024年02月05日
    浏览(152)
  • git连接gitee远程仓库及使用

    我们完全可以自己搭建一台运行Git的服务器,不过也可以使用现有的Git远程库,应用比较广泛的如下: github gitee 1. 使用SSH协议: ssh基于非对称加密的免密登录原理 对称加密:密码本是一个 MD5 非对称加密,秘钥是一对(公钥/私钥) rsa 第1步:创建SSH Key。在用户主目录下,看看

    2024年02月06日
    浏览(56)
  • 使用Git命令将本地仓库和远程仓库连接

    本地仓库与远程仓库关联 首先熟悉一下基本操作 使用Git命令将本地仓库和远程仓库连接有两种方法。 第一种: 远程(Github)先建立一个空的仓库,然后执行以下指令: 由于远程库是空的,我们第一次推送 master 分支时,加上了 -u 参数,Git不但会把本地的 master 分支内容推送的远

    2024年02月09日
    浏览(57)
  • 使用 SSH 方式实现 Git 远程连接GitHub

    git是目前世界上最先进的分布式版本控制系统,相比于SVN,分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作!当有网络的时候,再把本地提交推送一下就完成了同步,非常方便,故而也得到了广大IT工作者的青睐

    2024年01月18日
    浏览(69)
  • 初次使用sourcetree连接gitee个人仓库

    1、在Sourcetree中点击【工具】—【创建或导入SSH密钥】 2、点击【Generate】创建密钥 3、输入密码(此密码需要记住,往后每次进入Sourcetree都需要用到) 4、点击【Save private key】保存密钥,把该密钥存放在电脑文件资源管理器中,记住该密钥存放的位置 5、复制公钥 6、登录Gi

    2024年02月11日
    浏览(53)
  • 如何使用组策略禁用/启用远程连接管理远程协助

    首先来完全了解下远程协助吧!远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术。电脑中的远程控制技术,始于DOS时代。远程控制一般支持下面的这些网络方式:LAN、WAN、拨号方式、互联网方式。此外,有的远程控制软

    2024年02月06日
    浏览(57)
  • 学会使用git,快乐编写代码(常用命令和远程连接)

    相信不管是前端还是后端的小伙伴在开发的时候都要使用到我们的代码管理工具 git ,当然了 非计算机 的友友们也是会用到的,方便管理我们的项目(文件) 版本 ,不用再去来回复制粘贴啦。一般分可视化( sourceTree )和命令行( git Bash命令行 )两种方式。今天就给大家梳

    2024年02月03日
    浏览(99)
  • 【Git】如何使用sourcetree进行rebase操作(变基)

    注:接下来的演示操作仍将以SourceTree这个可视化工具为例。 个人感觉rebase这个功能有点多余,其实merge操作已经覆盖了它的功能。可能就是为了让整个commit看起来更顺畅一下,没有那么多的旁路分支,不那么杂乱。虽然个人不是很喜欢这个功能,但是很多开源库的作者再你提

    2024年02月04日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包