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的标签
效果如下:
注:
- 尽可能丢弃一些无意义的变更
- 尽可能按模块分配开发人员任务
- 合并分支后需立刻解决掉冲突
- 减少单个文件内代码变动的区块
- 如果使用我的版本解决问题,需告知对方
.
.
.
.
.
.
参考文章:https://juejin.cn/post/6844903497809281032
SourceTree使用方法总结相关推荐
- SourceTree使用方法
嫌SourceTree麻烦的看看小乌龟TortoiseGit吧,简单易上手. 使用教程参考:https://www.cnblogs.com/shijiehaiyang/p/14147899.html ...
- sourcetree打开快捷_SourceTree使用方法
一 .SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是Mercurial和Subve ...
- SourceTree 教程文档(进阶知识)
SOURCETREE首选项/选项 根据SourceTree上的文件更改和远程更改刷新存储库 在SourceTree中使用嵌入式Git或System Git 编辑SourceTree配置而不打开应用程序 ...
- SourceTree系列1:SourceTree连接github从无到有
1.创建github仓库 完成之后复制项目地址 2.SourceTree clone项目到本地 这是本地文件夹 对文件夹中文件作出修改,例如添加一个文件 此时SourceTree中就会出现未暂存文件 ...
- SourceTree + Gerrit
通过Mac 上的SourceTree向Gerrit服务推送代码 通过sourcetree向gerrit服务推送资源时不能直接推送.因为在gerrit上需要审查代码,审查代码之后才会合并到master. ...
- git提交代码工具推荐
今天给大家推荐一个git提交代码工具,本人感觉用着挺好的所以给大家推荐出来,虽然现在提交代码方式很多,如:命令提示框.vscode.webstrom.idea.svn.github中gitHubDes ...
- 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群
作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...
- Java面试题大全2021版
一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...
- soureTree中如何设置git 用户名与密码 SourceTree提交修改用户详细图文方法
mac上软件更新: 现在没有网络小模块了,在同行右边高级里面有默认用户名删除即可!!!! sourceTree 切换Git登录用户,之前在SourceTree提交远程服务用的是同事的账号,同事离职后账 ...
最新文章
- android SurfaceView
- 小米故事:凭什么把MIUI用户做到1亿 | PMcaff-干货
- 聊聊ajax,聊聊Ajax()中data()基本知识以及实例分析
- bring your mac everywhere you go
- 【五校联考5day1】序列
- 【linux】查看内存使用情况
- LeetCode Algorithm 148. 排序链表
- outlook日历不显示_如何在Outlook Online中突出显示不同的日历
- 5193. 删除字符使字符串变好
- select ...as_一起使用.select .map和.reduce方法可充分利用Ruby
- Javascript实现返回上一页面并刷新
- 查找占用内存最大进程所在路径命令
- 不重启服务如何定时更新进程中的一个对象
- @贾跃亭,证监会喊你本周回国对乐视负责!
- Nginx 配置文件详细说明
- tacotron2 注意力机制 self-attention学习
- python爬取了百万知乎,并做数据分析
- Ubuntu Java环境配置
- 掌握 需求过程阅读笔记02
- wget 下载 设置cookie
热门文章
- python爬取58同城租房信息_python爬虫:找房助手V1.0-爬取58同城租房信息(示例代码)...
- 初学者入门HTML2
- git 查看/修改用户名、密码
- 详解 16 个 Pandas 读与写函数
- Arduino录音时间延长_如何用arduino设计出可以语音播报的数字时钟
- 专业流程拓扑软件IAuto3.1.1用户操作手册——赶紧收藏,功能比processon、visio、draw.io更强大!小巧易用!
- 微信公众号自定义分享IOS失效
- 关于微软研究院(谢幸、郑宇研究员主导的)“智能城市”“智能生活”研究的一个归纳
- c语言long long是什么意思,long是什么意思_long在线翻译_英语_读音_用法_例句_海词词典...
- 建模simulink - xpc自定义模块设置