GIT版本控制器,安装及基本使用

一、Git的诞生

        很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。 Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?    

        事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码! 你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。      

      不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。      安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。      

         Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的: Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。      Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

二、集中式和分布式版本控制系统有什么区别呢

集中式:版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

缺点:必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊

分布式:分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了

优点:和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了

三、github和git是什么关系

一、主体不同

  1、github:是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管。

  2、git:是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

二、功能不同

   1、github:以托管各种git库,并提供一个web界面,但与外国的SourceForge、Google Code或中国的coding的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。

   2、git:开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。

四、Github的注册

官网:https://www.github.com

 五、github登陆

 

六、github建仓

 

 七、上传代码文件到仓库

 

 九、GIt下载安装

网址:https://git-scm.com/download/win

 十、windows下安装git

 十一、GIT仓库初始化

 1.基本信息设置

git  config   --global   user.name   ‘你的用户名’

2.设置用户名邮箱

git   config      --global  user.email  ‘你的邮箱’

3.初始化仓库  

创建文件夹 mkdir xiaolin  

进入文件夹 cd  xiaolin

 4.初始化命令

git  init 

 

5.查看文件状态

git   status

6.新增文件

git  add a.txt

7.提交文件到仓库

git  commit  -m  “提交的描述信息”

8.查看所有配置信息

git  config  --list

 

 

 

十二、向远处仓库提交数据的步骤

1.git  init
2.git  config  --global  user.name "你的用户名"
3.git  config  --global  user.email "你的邮箱"
4.git  add  .                                             #添加到暂存区里面去
5.git  commit  -m  "这是提交的信息提示"     #用命令 git commit告诉Git,把文件提交到仓库
6.git  remote  add  origin   https:/你的远程仓库地址.git       #  关联到远程库
7. git pull --rebase origin master           # 获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
8.git  push -u origin   master         #把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支推送到远程

十三、向远处仓库下载数据

git    clone   https:/你的远程仓库地址.git

十四、回退版本

git  reset  --hard  HEAD^xxx
HEAD 说明:
HEAD 表示当前版本
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD^^^ 上上上一个版本

可以使用 ~数字表示
HEAD~0 表示当前版本
HEAD~1 上一个版本
HEAD^2 上上一个版本
HEAD^3 上上上一个版本

将本地的状态回退到和远程的一样

git  reset  --hard   origin/master

十五、误删除恢复

如果回滚代码之后发现复制错了 commit_id,或者误删了某次 commit 记录,也可以通过下方代码恢复:
git     relog // 复制要恢复操作的前面的 hash 值
git    reset --hard hash // 将 hash 换成要恢复的历史记录的 hash 值
注意:删除中间某次提交时最好不要用 git reset 回退远程库,因为之后其他人提交代码时用 git pull 也会把自己的本地仓库回退到之前的版本,容易出现差错进而增加不必要的工作量。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值