【Linux】Linux工具——git入门(三板斧)

1.什么是 git?

1.1.如何理解git 

git的最基本作用是版本控制

  • 比如A写一个文档,一直不符号老板的条件,老板一直让A改,这时A在原文档上直接改,改来改去改到第八版了,一直不满意,最后老板说你这还不如第三版的好,A懵逼了,它自己也不知道第三版是什么了
  • 比如B写一个文档,一直不符号老板的条件,老板一直让B改,B的会复制一下原文档,在副本上修改,改来改去改到第八版了,一直不满意,最后老板说你这还不如第三版的好,B就直接拷贝了第三版给客户发过去了。然后B的认为这次的事情完事了把其他没用的都删了,突然有一天老板说客户的意见和B第八版的相同,这时B也懵逼了,它自己也不知道第八版是什么了
  • 来了个最聪明的人,会用git,他在本地建了一个版本库,每次老板让他修改,他就把之前的版本提交一下,并标明这版的主要特点,这样文件夹里就只有一个文档,每次老板说要哪个版本的,他就直接从版本库里恢复一下。

上面我们做的工作就是版本管理

1.2.版本管理

假设我们设计一个文档,以提交的次数记录版本号
“文档V1”
“文档V2”
“文档V3”

“文档V8”
随着文档的修改,有可能客户需要的反而是V2甚至是V1,因此,随着版本数量不断增多,无法记得版本与版本之间修改了什么,所以产生了 版本控制器

1.3.什么是版本控制器

所谓的版本控制器,就是可以让我们知道每一个文件的历史,以及它的发展过程的系统。
记录工程的每一次改动和版本迭代的一个管理系统,也便于多人协同。

版本控制器有很多,Git和SVN啊

目前最主流的版本控制器是 Git(开源),Git可以控制电脑上所有格式的文件,例如excel,dwg等,对于我们而言,Git最重要的就是管理软件开发项目中的源码文件。

 注意:

所有版本控制系统,包括Git,只能跟踪文本文件的改动,eg:txt文件,网页,所有的程序代码等,版本控制系统可以告诉你每次的改动,比如在第3行家里一个单词“hello”,或者在第7行删了一个单词“Linux”,

但是图片视频等二进制文件,虽然也能由版本控制系统管理,但是无法跟踪文件的变化,只能判断出文件是否发生了变化,具体发生的改变是无法知道的。

2.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等等。
  • 历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

有人就写了一些基于git来进行代码管理的网站,比如github,gitee

3.git安装

sudo yum install git

4.gitee三板斧使用

4.1.clone

我们可以去github上面,但是github有可能打不开,也很不稳定,所以不稳定

我们使用gitee来展示

我们想要把这个mycode.c上传到gitee的仓库里

首先打开gitee,登录注册

右上角点击我的仓库

我们新建一个仓库

按照下面这个设置即可

 

 我们怎么使用它呢?

我们选择HTTP的那个网站,复制下来

我们应该先把远端仓库克隆下来

 我们第一次克隆的时候,由于是http的协议,所以我们每次都要输入用户名密码

用户名:绑定邮箱的话就是邮箱,不然就是手机号

用户名密码:gitee的密码

这个就是我们克隆下来的zs_108仓库

 我们进去看看

 

这个.git文件就是传说中的本地仓库

 gitee上面也有一样的.git

 不要对git里面的文件进行任何修改

4.2.add 和commit

我们现在要上传我们的代码,怎么办

我们把我们的代码拷贝到zs_108里

我们现在要做的很简单

 commit后面必须带-m ,且后面的双引号里的内容不能乱写,必须写这个代码的相关信息

我们发现它报错了,我们按照它的要求(如下)

 设置好了之后

再来

这个就完全没有任何问题了 

4.3.push

我们还需要将准备好的代码提交到远端仓库里

 我们去gitee上面看看

 

提交成功了 

5.git的其他问题

1.提交记录

这个指令可以查看我们的提交记录

包括一些个人信息

我们的提交信息不要随便乱写哦

2.提交状态

当这个克隆的仓库里所有东西是在远端仓库的

git status就会显示nothing to commit

否则

就如下面所示

(test_git_code早已提交)

3..gitignore文件

凡是以上面这些为后缀的文件,都不会被添加到远端仓库

一定不能忘记前面的*号

4.git的基本配置 

我们第一次使用git的时候会有下面这个情况

我们发现它报错了,我们按照它的要求(如下) 

按照它提示的运行一下即可

git首次使用需要配置邮箱和用户名 ——本质是为了为代码进行复原

这个仅仅是git的入门,还有很多知识需要大家去学习

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值