当前位置:   article > 正文

Git图形化管理工具Sourcetree的使用及git冲突问题_sourcetree拉取冲突

sourcetree拉取冲突


一、了解 Sourcetree

1. 什么是Sourcetree

SourceTree 是 Windows 和 Mac OS X 下免费的 Git 客户端,拥有可视化界面,容易上手操作。 支持创建、提交、clone、push、pull 和 merge 等操作。

2.为什么要使用Sourcetree

上面是百度百科给出的解释,简单来说SourceTree是拥有一个精美简洁界面的软件,使用Sourcetree大大简化了开发者与代码库(指的是远程的代码托管平台Gitee、GitHub,在下面Sourcetree的使用中会介绍到)之间的Git操作方式,对于不熟悉Git命令的开发者来说非常实用。
在下载Sourcetree之前一定要先下载Git,不了解Git的小伙伴可以先去我的上篇文章了解一下: Git简介.,这篇文章大概介绍了Git的一些基础原理以及下载安装步骤。

二、Sourcetree下载与安装

1.下载

官网地址:https://www.sourcetreeapp.com/
百度网盘:<链接:https://pan.baidu.com/s/1ruvDIVXO23shDgRzfgH7NQ > 链接失效私信我
提取码:jf23

2.安装

如果下载的的是官网版本可以根据自己电脑的配置直接下载安装,安装时会出现一个注册信息,如果你的电脑可以翻墙那就注册一个,如果翻不了请下载百度云盘的版本,可根据里面跳过注册文档指示安装Sourcetree。

三、Sourcetree的使用

在正式使用Sourcetree之前我们先了解一下Gitee

1.Gitee的介绍与使用
什么是Gitee

在使用Gitee之前,我们得先了解一下它。gitee,也就是码云,是开源中国社区推出的代码托管协作开发平台,支持Git和SVN(另外一种版本控制工具),提供免费的私有仓库托管。Gitee专为开发者提供稳定、高效、安全的云端软件开发协作平台,无论是个人、团队、还是企业,都能够实现代码托管、项目管理、协作开发。
还有很多其他的项目托管平台 例如:GitHub,GitLab等这里就不多做介绍。

Gitee的使用

Gitee的网址:https://gitee.com/
Gitee的操作页面是网站的形式,我们在使用Sourcetree之前要在Gitee上注册一个账号,注册好之后需要在平台上创建一个远程仓库(如下图)
在这里插入图片描述
在这里插入图片描述
仓库创建好之后,导航栏点击我的
在这里插入图片描述
进入到页面后点击仓库,此时你所创建的仓库都会显示到这里
在这里插入图片描述
点击任何一个仓库进入到以下页面(如下图),箭头所指的地址就是我们在Gitee上创建的仓库地址,相当于一个远程的文件夹,那我们如何将自己电脑上资源或者文件送到Giee上的文件夹上呢,请继续往下看。
在这里插入图片描述

2.Sourcetree的使用
如何使用Sourcetree获取远程仓库的文件

我们想要拿到远程仓库中的文件时,首先应该在自己桌面创建一个文件夹
在这里插入图片描述
之后打开Sourcetree软件,点击红色区域
在这里插入图片描述
下图是进入到克隆操作的界面
在这里插入图片描述
在这里插入图片描述
点击克隆后经过短暂的等待进入以下界面
在这里插入图片描述
这时候我们再看本地文件夹,在仓库的资源都会克隆到这里
在这里插入图片描述

如何将自己的文件添加到远程仓库中

将自己所修改的文件或者新建的文件传到远程仓库,首先我们在本地仓库创建一个文件并写上内容
在这里插入图片描述
回到Sourcetree后未暂存区会显示刚刚新添加的文件
在这里插入图片描述
接下来点击暂存所有文件(如下图)
在这里插入图片描述
接下来点击提交
在这里插入图片描述
在这里插入图片描述
到了最后一步,点击推送,经过短暂的等待就可以看到Gitee中仓库中新增的文件了
在这里插入图片描述

如何与小伙伴一起协同工作

假设我有一个仓库,我急需一个志同道合的小伙伴来帮助我开发仓库里的项目,这时候我需要将我的小伙伴添加到仓库的开发者中,否则我的小伙伴就没有权限,无法获取到我仓库中项目文件(前提是这个仓库是私有的),也就无法帮助我。下图是Gitee添加开发者步骤
在这里插入图片描述
在这里插入图片描述
现在我的小伙伴就已经是仓库中的成员,小伙伴只需要将这个仓库里的资源克隆到他的本地文件下就可以和我一起工作了。我的小伙伴也就可以利用Sourcetree向这个远程仓库中推送他所操作的资源

Sourcetree中的拉取操作

拉取是什么?
书接上文,我的小伙伴已经向我的仓库中推送了新的资源,此时的我需要获取到小伙伴新推送的资源,这时的我就需要进行拉取操作(如下图)
在这里插入图片描述
拉取成功后,我的本地仓库就会出现小伙伴新增的资源。

Sourcetree分支

1. 为什么需要分支
模拟一个场景,比如,我已经写好了一个应用了,并上线了,然后我开始写新功能,准备下次上线。这时候老板说,上次上线的那个版本有个bug,需要修改。这时候我怎么办,假设新功能写到一半,修改的地方还很多。我把这个开发了一半新功能的项目拷贝了一份,然后把项目还原到上线到版本,然后在做修改,修改完bug后,又慢慢把带有新功能的版本合并到刚修改过到项目中。这样的操作想想就头大。这个时候,我们利用分支,这个过程就会变的十分灵活。上线后,开始开发新功能,新建一个分支,专门做新功能的开发,上线版本出了问题,切换到主分支,修改bug;切换到分支,继续修改开发新功能,新功能开发完毕,把分支和主分支合并。这样的操作就很方便,既保证了开发的效率又降低了项目出错的概率。
2. 创建分支
在Sourcetree创建分支
在这里插入图片描述
创建好分支后在侧边栏会多出个dev分支
在这里插入图片描述
此时我们查看Gitee中并没有div分支
在这里插入图片描述
在远程仓库中新建分支必须要先将分支推送到仓库中
在这里插入图片描述
这是我们再看仓库中就会出现一个dev分支
在这里插入图片描述
3. 检出分支
继续模拟一个场景,我的小伙伴现在从他的Sourcetree中创建了一个分支并推送到了仓库,而我想获取到他那个分支中的一些资源,首先先要将他的分支获取到
在这里插入图片描述
然后就可以在侧边栏中的origin中检出分支
在这里插入图片描述
在这里插入图片描述
检出后的分支会出现在侧边栏的分支选项中,这样一来我们就可以获取到小伙伴在这个分支上的资源
4. 合并分支
续接到Sourcetree分支问题的第一个场景,上面我们说到,上线后,开始开发新功能,新建一个分支,专门做新功能的开发,上线版本出了问题,切换到主分支,修改bug;切换到分支,继续修改开发新功能,新功能开发完毕,把分支和主分支合并,比较片面的来讲,合并分支的功能就是将原来版没有的功能与迭代版本有的功能进行合并。

四、Sourcetree冲突问题

1. 为什么会发生冲突

我们在用Sourcetree操作时,向远程仓库推送文件时会报错(如下图)
在这里插入图片描述

这就是传说中的Git冲突,那他是怎么造成的呢?
造成冲突的原因有很多种,其中一种就是我在本地编辑好了一个文件,与此同时另一位开发者向仓库推送了一个新的文件,而我没有及时获取仓库中的最新资源,在我推送的时候就会发生冲突(在同一个分支进行的时候)。还有一种是分支合并时发生的,两个开发者分别在编辑两个分支,在合并分支的时候发现同一个文件中两个人修改了不同的内容,这个时候就会发生冲突。

2. 遇到冲突怎么解决
  • 我模拟了上述第一种冲突,果不其然,它报错了!!
    在这里插入图片描述
    我想解决它就必须拉取到最新的资源,然后在进行推送(如下图 推送成功的日志信息)
    在这里插入图片描述
    所以,在单个分支操作的时候一定要拉取最新资源避免冲突的发生

  • 模拟上述第二种场景 现在是在两个不同的分支修改了两个相同的文件 , 将它们合并就会发生内容的冲突,解决这个问题一是选择使用分支1的代码,二是选择使用分支2的代码,三是手动修改冲突的部分。

五、总结

本着大道至简的道理,总结起来就一句话,Sourcetree很方便的实现了Git的命令行操作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/637946
推荐阅读
相关标签
  

闽ICP备14008679号