SourceTree使用方法总结

news2024/12/24 9:15:51

SourceTree使用方法总结

SourceTree使用总结


添加仓库

mac下从url克隆:

windows下从url克隆:


抓取、获取分支信息

抓取(mac下的名字)获取(Windows下的名字)指获取服务端git库的变更信息,比如落后几个版本,超前几个版本,我们平常多人协作的项目,提交代码前需要先获取一下,如果服务端有新的提交,再拉取下别人的更改,可以减少代码冲突。(菜单栏)

拉取代码


我先将界面分为 菜单栏、左侧栏、文件栏、变更栏、底部栏以方便下文介绍。

直接点击菜单栏的 拉取 按钮即可将远程代码变更拉取到本地。


提交代码:

正常提交

首先将未暂存的文件选中,点击后面的暂存所选;或者直接点击暂存所有。(文件栏)
在下方文本框输入本次代码变动的说明。(底部栏)
sourcetree默认不会推送到远程仓库,打勾立即推送变更到origin。(底部栏)
点提交即可(如果没有打勾立即推送变更到远程,还需手动点击菜单栏的推送)

这里我模拟一些变更,随便改点代码,然后保存,再次回到提交界面。

变更栏会包含本次所有变更,其中+代表本次增加行;-代表本次删除行;前面2个行号依次代码变更前行号,变更后的行号。为了保证代码变更尽可能的少,我们需要丢弃一些无意义的变更,如153行的删了一行dt/dt,随后又增加了一行dt/dt,造成这种现象一般是代码格式化或者不小心增加了某些空格等不可见字符导致,我们可以直接选中那2行,然后点击上方的丢弃行。

需要注意的是,丢弃不等于删除,丢弃所丢的东西是那一行的变更,比如是+号,那么丢掉代表不增加这一行,减号-同理丢的是不删除这一行,也就是恢复这一行。
sourcetree会把所有的变更以区块来分组,所以如果是整个区块的变更都没有意义,可直接丢弃整个块,如图:

随后暂存所选提交(文件栏)


暂存代码

暂存和丢弃类似,是将代码片段暂存到本地暂存区 以备提交,提交时所提交的代码就是暂存区的代码。当我们某个功能已经实现了,但是又想优化一下代码,可又担心等会没优化成功,此时的代码丢失,如果没有git之前,我们可能会备份一份代码,这里只需要暂存代码即可。暂存后,正常修改,后续的变更会出现在未暂存文件中的变更栏中。

此时无论是丢弃,还是继续暂存都是基于上次已暂存的文件。
当然,你也可以提交代码,来实现类似功能。


解决冲突

当我和别人改了相同文件的相同行时,(大部分我们多人改变了一个文件,git都会帮我们处理掉,自动合并,但是当改变同一文件的相同行时,在拉取时就会有冲突)如图:

我们可以先将我们代码贮藏起来(菜单栏),然后再拉取代码,接着应用贮藏,应用后冲突的文件会显示出来

这个时候,我们需要指定一个版本,比如是别人的版本为准,还是我的版本,随后右键文件选择 解决冲突使用我的版本(左侧栏选择文件状态-》工作副本)

变更栏可以看到updated upstream 是别人改的版本,+====下面我改的版本。
如果远程和本地都有问题,建议打开ide工具编辑后提交。


新开分支

在项目中,我们可能分为开发分支、集成分支、生成环境分支等,这时我们只需要在某个节点上右键选择分支即可


输入一个辨识度强的分支名,点击"创建分支"即可。便可在ST的左侧栏的"分支"树形结构下看到新建的分支了。

不过这里要注意的是此时该分支只是存在于操作者本地,如果该分支是需要团队共享的,那还需要操作者将其提交到服务端,即 推送分支

推送分支

新开的分支不会在远程显示,所以需要将分支推送到远程。

确认之后,其他小伙伴就可以看到你创立的分支了!


切换分支

需要切换到不同分支时,直接双击想要切换的分支即可。


拉取远程分支

找到远程对应的想拉取的分支右键,点击 检出 即可。


回滚提交

有些时候,我们提交的代码有问题,需要回滚回去。

回滚某次提交

将某次变更(在sourcetree里是某个节点)右键选择回滚提交。

回滚文件

忽略文件

项目中,有一些文件夹是需要忽略,而不需要提交到仓库里,比如bin目录下、target目录下的文件。

这里支持忽略单个文件、忽略所有扩展名、或略文件夹下的一切等。之后,我们不会看到这些文件变动。
需要说明的是忽略文件,只能忽略未跟踪文件,如果已跟踪文件(之前被提交过),需要先将这些文件删除后,提交代码库,再次忽略文件。


合并分支

由图中可以看出,我们的测试分支代码落后master分支2个节点,我们可以在master分支上右键选择合并到当前分支

当有冲突时,需要和上文中介绍的那样解决冲突,然后提交;如果没有冲突,需要手动点击推送按钮将合并后的变更提交到远程


查看文件变动历史

我们时常需要查看某个文件变动的历史,这里我们可以右键查看文件的 变更历史

点击后效果如图:


标签的使用

我们有些时候需要给一个变更增加一个标签,比如稳定版1.0的标签

效果如下:


注:

  1. 尽可能丢弃一些无意义的变更
  2. 尽可能按模块分配开发人员任务
  3. 合并分支后需立刻解决掉冲突
  4. 减少单个文件内代码变动的区块
  5. 如果使用我的版本解决问题,需告知对方

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/164883.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于FPGA的UDP 通信(五)

引言 前文链接: 基于FPGA的UDP 通信(一) 基于FPGA的UDP 通信(二) 基于FPGA的UDP 通信(三) 基于FPGA的UDP 通信(四) 本文基于FPGA设计千兆以太网通信模块UDP数据发…

12.I/O复用

I/O复用 多进程方式跳过 基于I/O复用的服务器端 接下来讨论并发服务器实现方法的延伸。如果有读者已经跳过第10章和第11章,那就只需把本章内容当做并发服务器实现的第一种方法即可。将要讨论的内容中包含一部分与多进程服务器端的比较,跳过第10章和第…

Android WebView中H5调用Android原生方法

最近做项目,使用webView看一些网页,和网页开发一起找什么方法进行交互,还好解决,分享一下经验。 对于webView的使用就不写了,百度大法好,主要是交互方面,对WebView增加以下代码: bi…

五个了解自己天赋优势的分析工具(一)霍兰德兴趣测试

霍兰德兴趣测试 霍兰德职业兴趣自测(Self-Directed Search)是由美国职业指导专家霍兰德(John Holland)根据他本人大量的职业咨询经验及其职业类型理论编制的测评工具。 霍兰德认为,个人职业兴趣特性与职业之间应有一…

74、Beyond RGB: Scene-Property Synthesis with Neural Radiance Fields

简介 List item 论文地址:http://arxiv-export3.library.cornell.edu/abs/2206.04669v1 利用隐式三维表示和神经渲染的最新进展,从综合模型的角度提供了一种新的场景理解方法,能够从新颖的视点渲染照片逼真的RGB图像,而且还能够…

我们怎样才能过好这一生?

文章目录1. 日拱一卒,功不唐捐1.1 适当的时候给自己一个奖励1.2 一个人可能走的更快,但一群人才能走的更远1.3 通过一些事情去逼自己一把1.4 从真理中去感悟1.5 当你面临绝路时2. 梦想的意义不在于实现3. 孤独4. 烦恼5. 别总说来日方长6. 忍和韧性7. 事情…

低成本搭建一台家庭存储服务器:前篇

本篇文章,记录搭建备份服务器的过程。 写在前面 今年考虑专门搭建一台用于数据备份的机器,一来今年外出的需求比较多,历史的设备已经用了几年了,需要有更新的设备来“接力”;二来也想验证方案的靠谱程度,…

k8s之ingress实战小栗子

写在前面 本文接k8s之ingress 。 本文看一个基于ingress作为流量入口的实战例子,架构图如下: 接下来详细看下。 1:部署MariaDB 首先我们需要定义MariaDB使用的configmap,如下: apiVersion: v1 kind: ConfigMap meta…

1587_AURIX_TC275_SMU的部分寄存器3

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) SMU的章节,剩下的部分全都是寄存器了,没有太多需要特别关注的。因此,接下来选择性整理,完成整个SMU的文档学习整理。 这一页是上一份笔记的…

05_FreeRTOS中断管理

目录 什么是中断 中断相关寄存器 源码实验 什么是中断 简介:让CPU打断正常运行的程序,转而去处理紧急的事件(程序) ,就叫中断。 举例:上课可以比做CPU正常运行的程序,上厕所可以比做中断程序。 中断执行机制,可简单概括为三步: 中断请求:外设产生中断请求(GPIO外部中断、…

【精品】k8s(Kubernetes)cka由基础到实战学法指南

轻松快速学会k8s四招 图1 k8s四招 学完本篇,您会获得什么惊喜? 从初学k8s,到帮助别人学会的过程中,发现朋友们和我,并非不努力,而是没有掌握更好的方法。有方法可让我们学的更快更轻松,这篇文章,以一个networkpolicy的题目,来逐步讲解,帮助大家建立一种,自己可以根…

Java基础语法

文章目录Java 基础语法一、注释1. 注释介绍2. 注释分类3. 注释颜色二、关键字1. 关键字介绍2. 所有关键词三、字面量四、变量1. 变量2. Debug 工具1)如何加断点?2)如何开启 Debug 运行?3)点哪里 ?4)看哪里…

ElasticSearch架构之整合ELK

前言本篇文章主要是说ElasticSearch对Logstash、FileBeat、Kibana整合形成ELK的架构,为什么需要整合这个架构呢?一个很重要的原因就是我们开发过程中有相当多的日志需要进行查看,如果我们要查找一个问题需要到多台服务器进行查看那是相当麻烦…

【Java基础知识 4】Java数据类型之间的转换、运算符

本文已收录专栏 🌲《Java进阶之路》🌲 目录 🌴基本数据类型 🍃01、布尔 🍃02、byte 🍃03、short 🍃04、int 🍃05、long 🍃06、float 🍃07、double …

C生万物 | 详解程序环境和预处理【展示程序编译+链接全过程】

👑作者主页:Fire_Cloud_1 🏠学习社区:烈火神盾 🔗专栏链接:万物之源——C 文章目录一、程序的翻译环境和执行环境二、详解编译链接1、前言小知识🔍2、翻译环境【important】2.1 编译① 预编译【…

【LeetCode每日一题】【2023/1/15】2293. 极大极小游戏

文章目录2293. 极大极小游戏方法1:双指针2293. 极大极小游戏 LeetCode: 2293. 极大极小游戏 简单\color{#00AF9B}{简单}简单 给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。 对 nums 执行下述算法: 设 n 等于 nums 的长度&#x…

Windows 10的子系统不是非Ubuntu不可

Ubuntu 的制造商 Canonical 早已和微软进行合作,让我们体验了极具争议的 Bash on Windows。外界对此也是褒贬不一,许多 Linux 重度用户则是质疑其是否有用,以及更进一步认为 Bash on Windows 是一个安全隐患。 Unix 的 Bash 是通过 WSL&#…

MyBatis动态设置表名 获取添加功能自增的主键 自定义映射

MyBatis动态设置表名 获取添加功能自增的主键 自定义映射动态设置表名获取添加功能自增的主键自定义映射解决字段名和属性名不一致的情况为字段起别名,保持和属性名的一致设置全局配置,保持和属性名的一致通过resultMap设置自定义的映射关系动态设置表名 mapper接口&#xff1a…

Java实现线段树

问题一:开始的子区间是怎么分的? M (LR)/2,左子区间为[L,M],右子区间为[M1,R] 问题二:如何进行区间统计? 假设这13个数为1,2,3,4,1,2,3,4,1,2,3,4,1. 在区间之后标上该区间的数字之和: 如…

Windows安全加固-AD建立与加入

AD建立与加入 实验环境说明: 域控从机: Windows 2003 域控主机: Windows 2008 IP设置 设置同一网段-保证连通性 将NDS指向Windos2008 第一步,域控服务器需要将服务器设为静态 IP地址 1.将Windows2008服务器IP地址修改为192.1…