| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> Sourcetree使用教程,拉取代码克隆、解决冲突、合并分支 -> 正文阅读 |
|
[开发工具]Sourcetree使用教程,拉取代码克隆、解决冲突、合并分支 |
目录 博客链接:Sourcetree使用教程https://www.zjhuiwan.cn/info/20211014/4220282518939357.html Sourcetree用了一段时间,记录一些过程.
需要注意的就是,每次写完代码结束的时候都要把代码提交掉,这样电脑就算炸了,代码还在远程仓库~ 基础配置首先下载安装好Sourcetree,官网下载即可: Sourcetree | Free Git GUI for Mac and Windows 安装完成之后先配置一下git,下载git并安装,官网下载地址:Git。 如需从gitlab上拉取代码,需要配置密钥,运行git,生成秘钥, 在自己的git服务器上绑定自己git公钥; Sourcetree配置,点击"工具-->选项-->一般",注意以下4个部分的设置,如图: 也可以不绑定然后克隆项目的时候输入账号密码验证。 基础操作拉取远程项目
如果箭头指向的仓库类型表明“这不是一个标准的Git仓库”,可能是有以下原因:项目地址获取错误或者没有项目访问权限
项目克隆完成之后是这个界面 ?如果有需求提交或者拉取或者推送的内容都有提示,类似下图这样,还很非常方便直观的。 pull(拉取)、commit(提交) 、push(推送)这些是日常工作最常用的功能,之前一直用git命令,在sourcetree上直接点按钮就行 ?? pull拉取远程代码到本地(将同事提交的代码先拉到本地,再开发,防止冲突),直接点击操作区的拉取按钮即可将代码拉取,如果有需要拉取的内容会显示数字。 Commit提交自己写的代码到分支 ?Push将提交的代码推送到远程仓库 ? ?注意:如果有待拉取内容,一定要先拉取再提交/推送,避免代码冲突 新建分支项目克隆完成之后,我们拉取的是master分支上的代码,由于master分支是主分支,项目多人开发的情况下,很容易造成冲突。 ?这样分支就创建了,创建完成后左侧会出现,双击可以切换当前分支,在master分支改了代码,切换到test20211014分支的时候不会出现master上改的代码,互不影响,只有在开发完了,提交推送合并分支的时候生效,所以本地开发要注意当前分支。 合并分支将两个分支的代码合并,比如主分支事master,然后在test分支进行开发,开发完成后需要保持master事最新版本,所以需要将test分支合并到master。具体操作如下图: 合并完成后会有条记录,可以看到合并内容,这样两个分支的代码就合并到了master。 目录 Git工作流分支共有5种类型 1) master,最终发布版本,整个项目中有且只有一个 2) develop,项目的开发分支,原则上项目中有且只有一个 3) feature,功能分支,用于开发一个新的功能 4) release,预发布版本,介于develop和master之间的一个版本,主要用于测试 5) hotfix,修复补丁,用于修复master上的bug,直接作用于master 当开发中需要增加一个新的功能时,可新建feature分支,用于增加新功能,并且不影响开发中的develop源码,当新功能增加完成后,完成feature分支,将新功能合并到develop中,更新develop上的代码 ? ? 1) 新建feature。首先当前开发分支指向develop,点击“Git工作流” 在预览中可看到,feature分支是从develop分出的,输入功能名称,点击确定,项目结构中增加feature分支,并且当前开发分支指向新建的feature分支 在dev_20211014上进行功能开发,功能开发完成后,需要同步到develop分支。 将当前分支指向dev_20211014分支,点击“Git工作流”,选择“完成功能” ? 注意:当确定开发完成并且无误后再完成工程并删除分支,否则可以保留开发分支 需要再增加新的功能时,重复以上操作即可 当多人协作开发时,可能会出现,不同人员对同一文件进行操作,从而引起合并冲突,比如你再dev_20211014上开发了一个功能涉及到A.java,你的同事也有个需求要开发,在feature 分支上新建了dev_20211014_2,也涉及到了A.java。开发完成你们合并的时候就有冲突产生,参照下面的冲突解决即可。 当开发到一定阶段,可以发布测试版本时,可以从develop分支,建立release分支,进入预发布测试阶段。点击“Git工作流”,选择“建立新的发布版本” 发版后线上有bug需要解决可以建立新的修复补丁: 具体操作参考上面的新建功能分支。 冲突解决多人开发时,由于修改了同一个文件,可能会有文件冲突的情况。 可以在提交的时候先拉取代码,然后进行提交推送,可以解决冲突,如果拉取不下来可以先暂存再拉取,拉取完之后取消暂存,再删掉冲突代码,然后推送。 如果代码有冲突,在代码上下文会出现如下内容: <<<<<<< HEAD Xxxxxxxx(当前代码) ======= Xxxxxxxx(需要合并的代码) >>>>>>> 自己根绝实际情况解决掉冲突代码即可。 配置忽略文件Sourcetree会把本地所有修改过的代码都提示待提交,哪怕只是加了一个空格。所以对于一些编译文件,可以选择不提交,因为没用。比如target下面的文件,只要进行如下配置即可忽略。 利用.gitignore过滤文件,如编译过程中的中间文件,等等,这些文件不需要被追踪管理。 正常情况下,管理员创建项目后需要直接将忽略文件创建好。 SourceTree&Git部分名词解释
其他待补充…… |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/23 14:15:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |