2018第51周日

从人们开始用电脑开始就面临着文件版本控制的问题,从最原始的同一个文档多个不同命名表示版本到使用本地的文件版本管理,到后面集中式版本管理如2000年的SVN,到再后来的分布式的版本控制系统,如2005年的Git。到现在用的最多的版本控制库依旧是SVN和Git,Git多用于个人、代码库的管理。

与SVN的使用简单相比,Gti是入门复杂,不过网上有大量视频、文档教程,作为技术人员学习并使用理解Git会是一件很值的事。

虽然Git在分布式、分支管理等方便领先SVN,但并不代表它能代替SVN,两者的理念设计原则不同,Git更适合文本文件如代码库的管理,尤其是并行远程异地开发、分支较多的情况,而SVN则适用于集中式文件版本管理、权限控制严格等场景,我们要根据需求选对的工具。

Git的每次提交都会生成一个完整的文件快照,对应一个文件目录tree。Git工程有工作区、暂存区、本地仓库3个工作区域,引入暂存区是个不错的设计,它能够实现部分提交,记录文件的修改时间等信息,提高文件的比对效率。

与SVN分支策略相比,Git分支流程复杂了很多,除了要维护两个长期的分支master和develop外,还有很多临时性分支如hotfix等,甚至有些用SVN分支思维的同学还有疑问,这种模式分支合并后岂不是增加了很多重复测试的工作量,因为理论上分支测试后,任何代码的改动合并到其它分支都是要重新回归测试才可以的。对此要用Git分支思维才能更好理解,Git用这样的分支策略就是为了应对实际中常出现的多人多版本并行开发的情况更方便有效率,如果实际开发过程中真像SVN开发分支线性向前迭代,则分支合并只是简单的移动分支指针并不用重新测试(因为它们是同一套代码)。

rebase 会把从 Merge Base 以来的所有提交,以补丁的形式一个一个重新达到目标分支上。这使得目标分支合并该分支的时候会直接 Fast Forward,即不会产生任何冲突。提交历史是一条线,这对强迫症患者可谓是一大福音。stash 将工作区与暂存区中的内容做一个提交,保存起来,然后使用reset hard选项恢复工作区与暂存区内容。我们可以随时使用 stash apply 将修改应用回来。stash 实现思路将我们的修改提交到本地仓库,使用特殊的分支指针(.git/refs/stash)引用该提交,然后在恢复的时候,将该提交恢复即可。

 

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

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

相关文章

twitter批量取消关注_如何在Twitter上取消阻止“潜在敏感内容”

twitter批量取消关注Twitter推特Twitter blocks some tweets with a “potentially sensitive content” warning. You can disable this warning—even on an iPhone or iPad, where the option isn’t normally available. You can also disable sensitive content warnings …

mysql数值类型总结及常用函数

最近在学习下,总结一下mysql数值类型; mysql字符类型分: 1、整数类型: 字节 值范围 INTERGER 1 -127-128 SMALLINT 2 MEDIUMINT…

Semantic-UI的React实现(二):CSS类构造模块

更简单的类名标签 Semantic-UI使用了更简单的类名声明。用过Bootstrap的同学都会被其复杂的类名标签折磨过&#xff0c;例如一个简单的按键样式&#xff0c;不论颜色或是大小&#xff0c;都需要btn-前缀声明&#xff1a; <button type"button" class"btn btn…

skype自动回复_如何在Windows 10上阻止Skype自动启动

skype自动回复Microsoft微软The Skype app included with Windows 10 now has a notification area icon. That’s great, but what if you never use Skype and don’t want it starting every time you sign in? Here’s how to get rid of it. Windows 10随附的Skype应用程…

Vue 组件实例属性的使用

前言 因为最近面试了二、三十个人&#xff0c;发现大部分都还是只是停留在 Vue 文档的教程。有部分连教程这部分的文档也没看全。所以稍微写一点&#xff0c;让新上手的 Vuer 多了解 Vue 文档的其他更需要关注的点。 因为 Vue 文档已经是个很成熟的文档&#xff0c;并且实现的 …

C# 读取硬盘信息类

在编写工具检查硬盘信息时&#xff0c;总结常用到的类&#xff1a; Win32_DiskDrive 这个用了检查整个硬盘的信息&#xff0c;如果电脑只有一个硬盘&#xff0c;那只显示一条信息。参考如下代码&#xff0c;AddTextBox为自定义显示函数。&#xff08;MSDN class 查询&#xff1…

95后沪漂女孩深陷“狠”且“卷”职场,向上思维,永不过时!

hi&#xff0c;这里是桑小榆。最近和一个伙伴oncall了很久&#xff0c;对我的文章以及思想转变产生了很大的共鸣&#xff0c;她向我分享了一些职场经历还有成长经历等&#xff0c;她的这些经历也让我引发了一定的思考。光光&#xff0c;最近刚升任了部门主管&#xff0c;对于当…

PHP:6种GET和POST请求发送方法

在i94web博客中&#xff0c;我试过了畅言和多说两种社会化评论框&#xff0c;后来还是抛弃了畅言&#xff0c;不安全。 无论是畅言还是多说&#xff0c;我都需要从远程抓取文章的评论数&#xff0c;然后存入本地数据库。对于多说&#xff0c;请求的格式如下&#xff1a; // 获取…

解决Ubuntu 16.04下提示boot分区空间不足的办法

原文地址: http://www.jb51.net/article/106976.htm   https://www.linuxidc.com/Linux/2015-09/123227.htm 因为linux内核一直在更新&#xff0c;更新后&#xff0c;旧的内核就不在使用&#xff0c;但旧的内核文件还在boot里面&#xff0c;占据着空间&#xff0c;更新几次过…

3d镜头 适配_您是否应该将镜头适配器与无反光镜相机一起使用?

3d镜头 适配Canon佳能Mirrorless cameras aren’t the future, they’re the present. If you’re switching from an older DSLR, though, the obvious thing to do is just buy an adapter so you can keep using your old gear. 无反光镜相机不是未来&#xff0c;而是现在。…

C#弹窗提示并自动关闭方法

刚学C#不久&#xff0c;就写个工具&#xff0c;总结写一个简便自定义提示窗口方法&#xff0c;并自动关闭。 1.在项目添加windows form&#xff08;非user control&#xff09;&#xff0c;命名为Form_wait。 2.在Form_wait,加入需要控件与一个定时器timer1。 数字10为计时显…

dotNET 7:最小 API 使用

最小 API 并不是在 .NET 7 中才加入的&#xff0c;记得应该是在 .NET 6 中就已经提供&#xff0c;只是对我来说&#xff0c;到现在才开始使用。创建一个最小 API在 VS 2022 中创建 WebAPI 项目&#xff0c;不勾选使用控制器&#xff0c;创建出来的就是最小 API &#xff1a;不勾…

Taro小程序采坑记

Taro&#xff0c;京东凹凸实验室出品的适配多端的一个框架&#xff0c; Taro 是一套遵循 React 语法规范的 多端开发 解决方案。现如今市面上端的形态多种多样&#xff0c;Web、React-Native、微信小程序等各种端大行其道&#xff0c;当业务要求同时在不同的端都要求有所表现的…

struts入门

struts工作过程&#xff1a; 反射代码&#xff1a; Class clazz Class.forName("action全路径"); Method m clazz.getMethod("execute"); Object o m.invoke(); package标签&#xff1a; 转发&#xff1a;地址栏不变 修改struts默认常量值&#xff1a; 常…

《Android应用开发攻略》——2.14 备份Android应用程序数据

2.14 备份Android应用程序数据 Pratik Rupwal2.14.1 问题当用户恢复出厂设置或者改用新的Android设备时&#xff0c;应用程序丢失存储数据或者应用程序设置。2.14.2 解决方案Android的Backup Manager&#xff08;备份管理器&#xff09;能够在应用程序重新安装时自动恢复备份数…

C#程序开机启动与获取程序启动路径

写windows工具时&#xff0c;要进行电源管理&#xff0c;需要重启与开关机OS&#xff0c;这样工具就需要自动启动。查了网上很多资料&#xff0c;修改注册列表就可以。 但是&#xff0c;复制几个网站的代码并自己修改都发现不行&#xff0c;最后发现脚本之家这段代码才成功&am…

wpf office 菜单_如何带回Office 2007中的旧菜单

wpf office 菜单Using the new Ribbon feature in Office 2007 takes time to learn…time you don’t have because projects are stacking up. Today we will look at UBitMenu, a utility that puts the familiar Office 2003 menu into the 2007 ribbon. 使用Office 2007中…

Swagger UI 仅为用户暴露已授权终结点

前言当需要在生产环境中提供 Swagger UI 时&#xff0c;我们可以通过身份验证&#xff0c;控制只有授权用户才能访问 Swagger UI 页面。但是我们希望更进一步&#xff0c;每个用户只能看到授权给他的终结点&#xff0c;而不会暴露其他未授权终结点信息。比如&#xff0c; API 提…

php实现约瑟夫环

function king($high,$size){ $monkey range(1, $high); $i 0 ; while (count($monkey)>1) { $i; $head array_shift($monkey); if(($i % $size) ! 0){ array_push($monkey,$head); } } return $monkey[0];} var_dump(king(10,3));转载于:https://www.cnblogs.com/lijint…

微软正式发布Azure Storage上的静态网站

微软正式宣布了Azure Storage上的静态网站&#xff0c;提供了从托管在Azure Storage上的HTML、CSS和JavaScript文件提供内容的能力。静态网站包含内容固定的Web页面&#xff0c;同时仍然允许利用JavaScript等客户端代码来创建丰富的用户体验。 有了这个新功能&#xff0c;继用于…