分享SourceTree的分支创建切换合并删除和标签管理等操作

本文详细介绍如何使用SourceTree进行分支的创建、切换、合并及删除操作,并介绍了如何管理和使用标签来跟踪版本。

今天为大家带来一篇关于“SourceTree的分支创建切换合并删除和标签管理”等操作的详细图文介绍,如需转载,请标明出处:

http://blog.youkuaiyun.com/java_android_man/article/details/78689830

SourceTree是一款非常好用的Git版本管理控制工具,良好的图形化界面为开发者管理代码也带来了很多便利。我正在使用的版本如下图:




下面就为大家分享在SourceTree上的几种常用操作:

1.克隆远程仓库



点击红色箭头处的向下箭头按钮,会出现如图选项,既可以在本地建立仓库,也可以从远程仓库克隆。

我这里主要从我自己的GitHub仓库克隆一份代码到我本地。如下图:




1.点Clone or download,出现红框链接部分,注意链接如果是https开头的最好是换成SSH协议的链接,因为Git是默认采用SSH协议的,处理速度要比HTTPS要快。

2.点击复制按钮,将链接copy到下图中




如果在初次安装git时设置有密码,将会出现如图红框输入密码的弹窗输入密码即可。clone完成后就开始进行分支的创建切换合并删除操作了。


a.创建分支:




如上图创建分支,名字叫dev,因为我本地创建过了,就不创建了。




这个时候本地就有了master和dev分支,双击其中一个分支就切换到了选中的分支,当在dev上开发完功能代码后,将dev分支提交到本地,如果dev分支不需要推送到远程仓库,直接提交就好,然后切换回本地master分支,从远程拉取最新代码确保本地master分支代码是最新版本,然后下面就可以合并代码了

下图是版本库中的分支状态:




可见我本地的dev分支要比本地master和远程master分支都要超前一个版本提交.

b.下面我们将dev分支上增加的代码合并到本地master上。




根据上图汇总的红色箭头依次选择,当然这种合并方式是快进式的合并.合并结束后不能从git时间线上分辨是否做过合并操作,有可能我们会在合并结束后删除dev分支,那样之前的dev分支上的代码片段将无法找回,那我们试试另外一种非快进式的合并操作:

命令----->

Git 禁止快速合并操作

git merge --no-ff -m "merge with no-ff" dev


点击工具栏右上角的终端图标,在终端中输入以上以上命名,注意将你要合并的分支名称改成你对应的分支名,引号中内容是合并的日志。



合并完成后如下图:




现在我本地分支就比远程仓库超前2个版本提交。并且在操作时间线左侧图表栏可以清晰可见我们在最近的一次操作是做了合并操作,当我们将本地master推送到GitHub远程仓库后就可以放心删除本地dev分支了,因为删除后我也可以从最后一次的合并操作前检出我删除的dev分支(双击某一条提交记录即可),这就是非快进式合并的优点。


c.下面我们就可以删除本地dev分支了:





删除成功后本地就只有master分支了。当然也只是演示,在真实开发场景中,一般是远程仓库有master分支和dev分支,然后本地有对应的master和dev

分支,还有一份是我们自己的功能分支,开发完成后,将功能分支合并到本地dev分支上,然后再将dev分支合并到master上。


d.标签管理:

在我们开发迭代过程中,会遇到这种情况,当前的版本是1.0.0。但需要找到版本号0.5.0的版本提交时,可能因为时间久远,不能快速定位到当时V0.5.0的提交记录,这个时候我们就需要进行标签管理了。比如我在发布1.0.0时,只需要在这个版本最后一个提交记录上打上标签,标签名就叫"V1.0.0上线版“,那我们来试试:



只需要选中我们最后一次提交的提交记录,然后右键选择标签出现下图:




当然你也可以不选择推送标签到远程仓库,点击添加我们的标签就生成成功了。这样在我们寻找历史版本的过程就顺利多了。删除标签也是类似操作,这里就不贴图了。




本帖还会持续更新,欢迎大家留言一起讨论。最后为大家分享一个学习Git的网站:

 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

<think>好的,我需要帮助用户了解如何在SourceTree创建分支、提交代码并合并代码。首先,我要回顾用户提供的引用内容,看看是否有相关的操作步骤。 用户引用了四篇文章,其中引用[1]提到了创建分支切换分支合并分支删除分支操作,但没有详细步骤。引用[2][3]讨论了代码审查Pull Request的流程,特别是使用SourceTree提交PR合并代码的过程。引用[4]则提到了回滚提交分支应用,但没有具体的创建合并步骤。 接下来,我需要结合这些信息,整理出一个清晰的步骤指南。首先,创建分支部分,应该包括在SourceTree中如何通过界面操作新建分支,并确保用户知道需要基于哪个分支(比如develop)创建。然后,提交代码的部分需要说明如何暂存更改、填写提交信息,以及推送到远程仓库。这里要注意提醒用户保持提交的原子性,避免一次提交过多改动。 合并代码部分,用户提到了两种方式:直接合并通过Pull Request。直接合并适用于个人项目或小型团队,而PR更适合团队协作。需要详细说明如何在SourceTree中发起PR,邀请审查,处理反馈,最后完成合并。同时,引用[3]中的例子提到了feature-login分支合并到main,可以作为示例引用。 另外,用户可能遇到的问题包括分支冲突,这时候需要指导如何解决冲突,比如使用SourceTree的冲突解决工具,或者手动处理文件后标记为已解决。引用[2]提到代码审查的重要性,可以强调在合并前进行审查以避免冲突。 最后,注意事项部分需要涵盖保持分支更新、规范命名、及时删除无用分支等内容,这些都能帮助用户维护良好的代码管理习惯。同时,引用[4]中的回滚操作可能作为补充提示,在提交错误时如何回滚。 确保整个指南步骤清晰,每部分都有对应的截图或示例,帮助用户直观理解操作流程。同时,检查是否有遗漏的细节,比如如何切换分支删除分支,这些在引用[1]中提到过,需要补充到指南中。 总结起来,结构应该是:创建分支 -> 提交代码 -> 合并代码(直接合并PR流程) -> 解决冲突 -> 注意事项,每个步骤配合引用中的相关内容操作示例,确保用户能够按图索骥完成操作。</think>### SourceTree 分支创建、代码提交与合并操作指南 --- #### 一、创建分支 **目标**:基于当前分支(如 `develop` 或 `main`)创建新功能分支(如 `feature-login`)。 **操作步骤**: 1. **打开分支面板** - 点击顶部工具栏的 **「分支」** 按钮(或右键仓库 -> **「新建分支」**)。 - 在弹出窗口中输入分支名称(例如 `feature-login`)。 - 选择 **「基于当前分支创建」**(默认选项)[^1]。 ![创建分支示意图](https://via.placeholder.com/600x200?text=SourceTree+创建分支界面) 2. **推送分支到远程** - 勾选 **「立即推送分支到远程仓库」**(自动同步到 GitHub/GitLab)。 --- #### 二、提交代码 **目标**:将本地修改提交到当前分支并推送到远程仓库。 **操作步骤**: 1. **暂存更改** - 在 **「未暂存文件」** 列表中选择要提交的文件,点击 **「暂存所有」** 或右键文件选择 **「暂存」**。 - 输入提交信息(格式建议:`类型(范围): 描述`,例如 `feat(login): 添加用户登录接口`)[^3]。 2. **提交与推送** - 点击 **「提交」** 按钮完成本地提交。 - 点击顶部工具栏的 **「推送」** 按钮,将提交推送到远程分支。 ```bash # 等效 Git 命令 git add . git commit -m "feat(login): 添加用户登录接口" git push origin feature-login ``` --- #### 三、合并代码 **两种方式**:直接合并(小型项目)或 Pull Request(团队协作)。 ##### 方式 1:直接合并分支 **适用场景**:个人项目或无需审查的快速合并。 **操作步骤**: 1. 切换到目标分支(如 `develop`):右键分支 -> **「检出」**。 2. 右键要合并分支(如 `feature-login`) -> **「合并」**。 3. 解决冲突(若有)后推送合并结果[^4]。 ##### 方式 2:通过 Pull Request (PR) 合并 **适用场景**:团队协作需代码审查时(推荐流程)[^2][^3]。 **操作步骤**: 1. **发起 PR** - 在 SourceTree 右侧点击 **「创建 Pull Request」**。 - 选择源分支(`feature-login`)目标分支(`develop`)。 - 填写 PR 标题描述(说明修改内容、关联的 Issue 编号等)。 2. **代码审查** - 团队成员在 PR 页面查看代码差异,通过评论提出反馈。 - 根据反馈在本地修改代码,重新提交并推送(PR 会自动更新)。 3. **合并 PR** - 审查通过后,点击 **「合并」** 按钮完成合并。 - 选择合并策略(推荐 **「Squash 提交」** 保持提交历史整洁)。 ![PR合并示意图](https://via.placeholder.com/600x200?text=SourceTree+PR+合并界面) --- #### 四、冲突解决 **触发场景**:合并时若目标分支有更新,可能发生文件冲突。 **操作步骤**: 1. 打开冲突文件,SourceTree 会标记冲突区域(`<<<<<<< HEAD` 到 `>>>>>>> feature-login`)。 2. 手动编辑文件保留需要的代码,删除冲突标记。 3. 右键文件 -> **「标记为已解决」**。 4. 提交合并结果。 --- ### 关键操作总结表 | 操作类型 | 步骤要点 | 注意事项 | |----------------|-----------------------------------|------------------------------| | **创建分支** | 基于当前分支命名,推送远程 | 分支名需明确功能/修复范围 | | **提交代码** | 暂存文件+清晰提交信息+及时推送 | 避免提交未完成的功能代码 | | **合并代码** | PR审查优先,冲突及时解决 | 合并删除已废弃分支 | --- ### 注意事项 1. **保持分支更新**:定期从目标分支(如 `develop`)拉取最新代码,减少冲突概率。 2. **规范命名**:使用 `feature-*`、`fix-*`、`hotfix-*` 等前缀区分分支类型。 3. **清理分支**:合并完成后删除本地远程的临时分支(右键分支 -> **「删除」**)。 --- #### 扩展问题 1. 如何通过 SourceTree 回滚错误提交? 2. 什么是 Git Flow 工作流,SourceTree 如何支持? 3. 如何配置 SourceTree 的代码对比工具?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值