博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给SVN泼盆冷水,是时候用GIT了
阅读量:5743 次
发布时间:2019-06-18

本文共 1748 字,大约阅读时间需要 5 分钟。

hot3.png

git

前言

没有要排除任何工具的意思,只是眼下最流行的“版本管理系统”非GIT莫属。

写给新手

有些朋友可能会说我还没有使用过GIT,好吧,我不说你OUT了,只是在开始之前你应该简单了解下GIT。这里有个图文生动的好地方,有兴趣不妨来看一看----

Git有什么不一样

如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。

  • SVN属于中心式的仓库管理,统一维护在Server端,而Git属于分布式的仓库管理,每个开发者都拥有自己的本地仓库,并且每个仓库都是平等的。
  • 由于你自己本身就拥有仓库,那么Git在本地磁盘上就保存着所有有关当前项目的历史更新,并且Git中的绝大多数操作都只需要访问本地文件和资源,不用连网,所以处理起来速度飞快。用SVN的话,没有网络或者断开VPN你就无法做任何事情。但用Git的话,就算你在飞机或者火车上,都可以非常愉快地频繁提交更新,等到了有网络的时候再上传到远程的镜像仓库。换作其他版本控制系统,这么做几乎不可能,抑或是非常麻烦。
  • 并且Git中每个克隆(clone)的版本库都是平等的。你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意。
  • Svn?Svn是统一管理的好吧。开发时你的Boss说了算,说什么时候提交代码就什么时候提交代码,说什么时候更新就统一更新,你觉得很爽?
  • Git?Git的提交不会被打断,直到你的工作完全满意了,PUSH给他人或者他人PULL你的版本库,合并会发生在PULL和PUSH过程中,不能自动解决的冲突会提示您手工完成。

现在你知道有什么样的区别了把,奥斯托洛夫斯基曾经说过:“统一是扼杀创造力的根源”!(好吧,我杜撰的...)难怪这么多开源社区(比如)都采用了Git,而不是... ...

我最讨厌SVN的两个地方

如果在公司规定就使用SVN(多数不是规定,而是确实不了解Git)那么我就很反感一下两点:

  1. SVN有点考验手速,谁提交的快就不需要解决冲突。这个有点烦人,大家明明在同一个Team中,有了冲突应该协调去解决,而不是最后那个“手速”慢的同学去独自跟冲突干上一仗。
  2. SVN对于文件更改记录的管理。每个文件夹下都有那么一个.svn的文件夹确实很不爽,你去管理你的东西,干嘛在我的开发环境下放上你的东西,不爽!

Git的GUI工具

不得不说的是很多朋友都有GUI偏好,或者说一个好的工具怎能没有一个好的“脸”呢?!好吧,这是Windows习惯的驱使,我只能说非所有程序猿都愿意使用命令行工具,尤其是被Windows惯坏了的那批。不得不说的是Git有自己的GUI界面,因此完全不需要其他的GUI工具。不过话又说回来,工具都有个习惯问题。基本上从SVN转换过来的程序猿,绝大多数都只用过TortoisSVN,好吧那你还用TortoisGit吧。

不过你可能不明白的是TortoiseGit没有集成Git,那么还需要去下载msysGit(或者Git for windows)来安装。因为TortoiseGit其实只是一个壳(其实和Svn一样),它需要调用Git命令行才能发挥作用。(现在你知道我为什么推荐你用命令行了么?)

TortoiseGit安装好是这个样子的: tortoiseGit 还有就是另外一个GUI工具叫做SourceTree,个人感觉还是非常不错的,界面如下: 在此输入图片描述

Git for windows 和 msysGit

这个你大致了解下就行,只是多一种选择,多一条路。msysGit的主页提供了两个项目:Git for Windows和msysGit,并写明了它们的详细区别。 个人认为,Git for Windows适合绝大多数程序猿(又见绝大多数),所以,强烈建议安装Git for Window。 msysGit使用一种很BT也很NB的方式来安装。先安装一个最小的MinGW/MSYS系统,然后使用git pull 所有的源码,调用gcc在本地编译成可执行文件。

啰啰嗦嗦说了这么多,可能没有给大家在实际开发中帮上什么忙,Git的使用过程还需要大家自己去摸索。

转载于:https://my.oschina.net/terryomg/blog/187300

你可能感兴趣的文章
TiDB 源码阅读系列文章(七)基于规则的优化
查看>>
面试中会遇到的正则题
查看>>
Spring之旅第八站:Spring MVC Spittr舞台的搭建、基本的控制器、请求的输入、表单验证、测试(重点)...
查看>>
数据结构与算法——常用排序算法及其Java实现
查看>>
你所不知的Webpack-多种配置方法
查看>>
React.js 集成 Kotlin Spring Boot 开发 Web 应用实例详解
查看>>
webpack+typescript+threejs+vscode开发
查看>>
python读excel写入mysql小工具
查看>>
如何学习区块链
查看>>
搜索问题的办法
查看>>
微信分销系统商城营销5大重点
查看>>
求职准备 - 收藏集 - 掘金
查看>>
htm5新特性(转)
查看>>
Linux-Centos启动流程
查看>>
php 设计模式
查看>>
后端技术精选 - 收藏集 - 掘金
查看>>
Laravel 服务容器
查看>>
mac安装kubernetes并运行echoserver
查看>>
多页架构的前后端分离方案(webpack+express)
查看>>
算法(第4版) Chapter 1
查看>>