当前位置: 首页 > news >正文

如何克服解决Git冲突的恐惧症?(序)

不知道大家有没有这样的经历呢?

在大学期间,我们经常会有课程设计,比如C++程序设计,比如设计一个俄罗斯方块程序,那么我们会怎么做呢?先在自己电脑上开发调试好,然后到了机房给老师演示到时候呢,用U盘拷到机房的电脑上,然后给老师演示,后来想了想,其实这样也没什么毛病,毕竟一个人。

后来随着课程设计越来越大、越来越难,一个人几乎不能完成(大神可以^_^),那么就几个人一组啦,那么如何协作呢?如果是两个人,那么可以在一台电脑上开发(结对开发),多个人的时候呢?用U盘?呵呵哒...于是我们想到了用版本控制,用什么好呢?

Svn?Github?Gitlab?GitOsChina(当时还是http://git.oschina.net,现在已经变成了https://gitee.com)?

后来决定用GitOsChina,因为免费,且可以创建私有仓库,那么问题来了,如何说服大家用Git呢?

...(此处省略1万字)

我费了十分大的力气说服他们使用 Git并教会他们基本的操作。但是使用Git不可避免的会产生编辑冲突,可是大家都害怕冲突、害怕解决冲突,可能是觉得解决冲突太麻烦了,解决不好还可能会丢失代码,说出来都是血和泪啊。

那么有没有好的方法或者是好的工具能克服解决Git冲突的恐惧症呢?

关键方法->减少冲突:

要减少冲突(即将它扼杀在萌芽阶段,/捂脸),关键在于组织和分工、沟通和习惯,如果架构设计耦合太多、分工有交叉、沟通少,那么无论用什么版本控制工具都不能解决冲突的问题;

治标方法->立竿见影:

“熟练掌握reflog+reset”告诉你后悔药是如何吃的,这就跟学车是一样的道理,一定要先学会踩刹车,心里才有底。不过,初次接触 reflog 的界面的童鞋很可能会不太熟悉,不知道怎么退出去,不要害怕,谷歌会给你答案。

治本方法->壮胆神药:

掌握Git基础和原理

辅助方法->开门见山:

装个好的前端比如SourceTree,一般性的操作,都可以不用指令,出了错有UI界面,解决冲突时只需动动鼠标,轻松加写意。

那么从下篇文章开始,我将带领大家一步一步炼出壮胆神药,敬请期待~

微信公众号: 码上论剑
请关注我的个人技术微信公众号,订阅更多内容

相关文章:

  • [BZOJ3223]文艺平衡树
  • ccf-20171203 Crontab问题
  • schtasks命令
  • 聚类分析——Kmeans
  • 元素外边距溢出(塌陷)
  • TCP/IP学习(29)——kernel如何选择socket接收数据
  • Core Data 的简单使用
  • 配置防盗链,访问控制
  • 过完年想要元气满满?赶紧看看这些VR AR大事件回个血
  • RocketMq部署(四)
  • oracle时间操作结合to_char和to_date使用
  • VS2017 Debug断点后显示UTF8字符串
  • 拥抱.NET Core系列:MemoryCache 缓存选项
  • 树莓派打造无线扫描仪.
  • 用“世界上最好的编程语言”制作的敲诈者木马揭秘
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【翻译】babel对TC39装饰器草案的实现
  • HTTP 简介
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Java小白进阶笔记(3)-初级面向对象
  • Mocha测试初探
  • Python_网络编程
  • Spring Cloud中负载均衡器概览
  • SpringBoot 实战 (三) | 配置文件详解
  • SSH 免密登录
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Vue2.x学习三:事件处理生命周期钩子
  • 配置 PM2 实现代码自动发布
  • 深度解析利用ES6进行Promise封装总结
  • 使用agvtool更改app version/build
  • 详解NodeJs流之一
  • 小程序开发之路(一)
  • 小程序开发中的那些坑
  • 一文看透浏览器架构
  • 正则学习笔记
  • 智能合约开发环境搭建及Hello World合约
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 【干货分享】dos命令大全
  • ​​​​​​​​​​​​​​Γ函数
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (Git) gitignore基础使用
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (九十四)函数和二维数组
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • .NET CORE 第一节 创建基本的 asp.net core
  • .net core使用ef 6
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET Framework杂记
  • .net 微服务 服务保护 自动重试 Polly
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .net的socket示例