Git的简单介绍
每次看到别人写Git的文章,同学中也有用Git感觉很高大上的感觉,工作中用的是SVN,周末倒腾了一下Git,Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 与其他的版本控制工具 CVS, SVN,VSS相比,它采用了分布式版本库的方式,可以离线提交代码,代码保存在本地,可以享受SVN联网能进行的一系列操作,如果你需要推送到服务器只需要push一下即可,每个人都是一个独立的仓库。
Git的由来
说到Git,不得不提的一个人是Linus Torvalds,Linus跟Linux差了一个字母,这哥们就是Linux的核心作者,芬兰人,现在随着Linux和Git的迅猛发展,大家都对Linus大牛的了解就更深刻一些。从91开始创建了开源的系统软件Linux一直到2002年,Linus一直都是手动的合并代码,,哥们手动了十年,抛开技术不谈,就这个耐性就值得佩服。Linus认为CVS集中式控制太慢不适合控制,而且需要联网,后来2000年出现的SVN也同样找到了Linus的弃用,2002年的时候由于Linux发展的原因,手工合并代码太慢采用了商业系统软件BitKeeper,Linus一直使用BitMover公司的BitKeeper SCM(软件配置管理)进行Linux运行管理。Linus在一份声明中曾表示,“我一向不热衷于开发开放源控制工具,而现在正是这一缺憾阻碍了我跟大多同行的交流。”他说,“BitKeeper正好解决了这一燃眉之急,使得工作效率倍增,其可复制传播的本性方便我与任意同行之间交流和合作。”
当然,并不是每一位自由软件或开放社区人士都与托沃兹一样喜欢BitKeeper,因为它是享有知识产权的一套程序。使用拥有知识产权的工具来管理开放源软件的开发早已引发了激烈的争议。事实上,持有不同意见的主要是开放社区的两大阵营,一个是以Linus为代表的实用主义者,他们主张只要是合适的工具就拿来使用,不管是版权产品还是开放软件;而另一阵营是以理查德·斯托尔曼(Richard Stallman)为代表的纯自由软件论者,他们认为使用版权软件违背了自由软件的本质。
在有关开放源社区是否应该对BitKeeper进行“逆向工程”的争议进行之时, Samba CIFS(通用因特网文件系统)服务器项目的联合创始人Andrew Tridgell开发了一款新程序SourcePuller,与BitKeeper数据通用。Tridgel作为OSDL(开放源开发实验室)的第二任掌门人,追随者自然是有样学样。这个时候BitMover非常愤怒,收回来商业版BitKeeper在Linux的使用权,与之对应的提供了一个功能相对差点的Linux开源版本,并威胁说“如果你开发类似的软件,就不能使用BP”
自此Linus对BP好感全无,闭关修炼两周之后用C写了额一个分布式控制系统(C没学好的我只能仰望了),之后的Linux的系统源码就由Git管理了,Git成为最流行的分布式版本控制系统GitHub在2008年上线之后它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby on Rails,Android,YUI等。
Window下的Git
原本Git的使用范围只适用于Linux/Unix平台,但在Windows平台使用其工作的时候需要Cygwin这样的模拟环境,Git也一样。Cygwin的安装和配置都比较复杂(我没弄过),后来Google把模拟环境和Git都包装好了发布了一个msysgit的针对Window的客户端(我想说微软哪里去了),最开始托管在code.google.com,现在源码和下载程序托管在http://msysgit.github.io/。
下面放一下自己的安装过程吧:
我下载的是最新的1.9.4
基本信息介绍,直接next:
选择路径之后直接next:
将图标放在桌面,方便使用,next:
默认的使用Git Bash进行版本控制:
默认的window窗体样式:
d
等待几分钟:
安装完成:
最后测试一下是否成功,双击Git Bash,红色是计算机名,如果出现了则证明安装成功了:
Git的简单介绍的更多相关文章
- eclipse IDE使用git方法简单介绍
eclipse下使用git插件上传代码至github 1.eclipse下安装git eclipse git 插件的安装. 点击 Help->Install New Software-> ...
- 项目管理---git----快速使用git笔记(一)------git的简单介绍
最近svn代码管理服务器崩溃了,切换到git来运作. 经过几天的使用,感觉很不错. 尤其是代码合并到正式版本之前 可以对代码进行 code review. 这样能很好的保证团队的代码质量和一些重复代码 ...
- Git——Git的简单介绍【一】
官方网站 Git官网 https://git-scm.com/ GitHub https://github.com GitLab https://about.gitlab.com/ SVN https ...
- linux下git的简单运用
linux下git的简单运用 windows下也有git,是git公司出的bash,基本上模拟了linux下命令行.许多常用的命令和linux下操作一样.也就是说,windows下的git命令操作和l ...
- osc的git服务器简单使用。
1.创建本地仓库 mkdir dir cd dir git init 初始化仓库 2.创建远程仓库 进入远程仓库去创建 3.关联本地仓库与远程仓库 git remote add osc git::.. ...
- 攻城利器 —— Carthage简单介绍
01 Carthage简单介绍 主页:https://github.com/Carthage/Carthage.git 作者:Justin Spahr-Summers等 版本:0.18 目标:用最简单 ...
- [转] Portable Trac 简单介绍 - 兼谈为什么不选择 Redmine
Portable Trac 简单介绍 - 兼谈为什么不选择 Redmine Trac是一个轻量级的软件项目管理环境,如果在工作中涉及一个开发团队的管理并且关心项目管理工具的话,相信都在 Trac. ...
- Git 的简单使用
一直在使用Git,仅限于简单的使用,但还是记不住几个简单.在这边总结一下,加深印象,也方便查找. 安装Git 平常主要在windows和ubuntu上工作,就以windows为例,Linux和Mac平 ...
- app 下载更新 file-downloader 文件下载库的简单介绍和使用
app 下载更新 file-downloader 文件下载库的简单介绍和使用 今天介绍一个下载库:file-downloader 文件下载库 说明: * 本文内容来自原 file-downloader ...
随机推荐
- C++雾中风景5:Explicit's better than implicit.聊聊Explicit.
关于Explicit还是Implicit一直是编程语言中能让程序员们干起架的争议.那些聪明的老鸟总是觉得Implicit的规则让他们能够一目十行,减少样板代码的羁绊.而很多时候,Implicit的很多 ...
- jupyter notebook 小技巧
Converting notebooks to other formats¶ !pip install https://github.com/ipython-contrib/jupyter_contr ...
- CodeForces - 620C Pearls in a Row 贪心 STL
C. Pearls in a Row time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- idea在debug模式启动非常慢,日志正常debug模式一直在启动中状态
背景 最近在使用idea开发工具时遇到了一个奇怪的现象,使用run tomcat项目可以正常启动,但是使用debug模式启动时,控制台可以正常打印日志,但是进度十分缓慢,也没有任何报出任何错误信息.只 ...
- 安装部署VMware vSphere 5.5文档 (6-3) 安装配置AD域控制器
部署VMware vSphere 5.5 实施文档 ########################################################################## ...
- [ 转载 ] Java基础12--基础学习总结——数组
java基础学习总结——数组 一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量. 数组的 ...
- [BZOJ4557][JLOI2016]侦察守卫(树形DP)
首先可以确定是树形DP,但这里存在跨子树的信息传递问题,这里就需要“借”的思想. f[i][j]表示i子树内所有点都被覆盖到,且i以外j层内的点都能被覆盖到 的方案数. g[i][j]表示i子树内离i ...
- Linux下gcc与g++用法以及编写makefile
1. gcc与g++编译流程: 1) 编译流程: 2) 预处理:生成.i的预处理文件. Ø 只激活预处理,这个不生成文件,需要把它重定向一个输出文件. ...
- zookeeper【5】分布式锁
我们常说的锁是单进程多线程锁,在多线程并发编程中,用于线程之间的数据同步,保护共享资源的访问.而分布式锁,指在分布式环境下,保护跨进程.跨主机.跨网络的共享资源,实现互斥访问,保证一致性. 架构图: ...
- HDU 4217 Hamming Distance 随机化水过去
Hamming Distance Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) ...