Git学习之路

Git简介

  • Git是什么

    Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管 理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

  • Git的特点

    分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
    下图是经典的git开发过程。

  • Git的功能特性:
    从一般开发者的角度来看,git有以下功能:

    1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
    2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
    3、在单机上自己创建的分支上提交代码。
    4、在单机上合并分支。
    5、把服务器上最新版的代码fetch(下拉)下来,然后跟自己的主分支合并。
    6、生成补丁(patch),把补丁发送给主开发者。
    7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
    8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

    从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

    1、查看邮件或者通过其它方式查看一般开发者的提交状态。
    2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
    3、向公共服务器提交结果,然后通知所有开发人员。

  • 优点:
    适合分布式开发,强调个体。
    公共服务器压力和数据量都不会太大。
    速度快、灵活。
    任意两个开发者之间可以很容易的解决冲突。
    离线工作。

  • 缺点:
    资料少(起码中文资料很少)。
    学习周期相对而言比较长。
    不符合常规思维。
    代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

用Git的原因

  1. 版本控制

    没有 git 的时候…假如你写了一篇文章,要删除某一个段落,为了防止以后需要找回这个段落,你需要为这个文件备份。
    如果你第一次删除了段落1,第二次修改了段落2,第三次添加了段落4,则需要为每一个版本都建立一个备份。(还有一个办法是注释掉修改的代码,在下面写添加的代码,但是时间久了就弄不清楚了)你的文件可能看上去是这个样子:在这里插入图片描述

    版本多了,你想恢复修改前的段落2,却不记得是那个备份,所以你需要一个一个文件去翻阅查找,非常麻烦。
    这时你可能会写一个说明文档,文档中记录了:副本(1)——删除段落1;副本(2)——修改段落2;副本(3)添加段落3… 有了这些摘要你能很快定位到需要的文件。

    可是修改了第112行,或者是修改了114、118和119行呢?你不可能有耐心记录下每个版本修改了哪几行,所以这些修改很难定位,找起来特别费神。

    版本管理可以解决以上述所有麻烦(这些麻烦是我在未接触版本管理时写代码真实遇到的)。每次有新的修改,添加版本说明并提交。从 git log 信息中你可以看到所有版本和版本摘要,看起来就像下面这样(这就不用手动备份文件和写摘要文档了):

    版本用户说明日期
    1张三删除段落12018.12.26
    2李四添加段落42018.12.28

    对于任意两个版本,用 git diff 命令,可以比较两个文件的不同,这样就解决了修改定位的问题。完全自动。

  2. 分支管理
    git 是一款分布式版本管理工具,代码可以由自己本地服务器来管理。因为每个系统本地都有一个本地代码仓库(相当于远程仓库在本地的备份),本地系统可以先把代码提交到本地代码仓库,然后再由本地代码仓库提交到共享版本库(在这里,共享版本库就相当于集中式管理系统的远程代码仓库)这样在本地系统和共享版本库之间添加了一层本地代码库,开发人员直接和本地代码仓库打交道,减轻了对共享版本库的压力,并且也降低了开发人员因为误操作而导致对远程代码仓库的污染。

    git分支的灵活会让开发者工作更快捷方便。svn同样拥有分支,为什么git的分支更好用呢?分支(Branch)在SVN,分支是一个完整的目录。且这个目录拥有完整的实际文件。如果工作成员想要开启新的分支,那将会影响“全世界”!每个人都会拥有和你一样的分支。Git,每个工作成员可以任意在自己的本地版本库开启无限个分支。举例:当我想做一个功能, 我可以开一个分支,做我喜欢的事。完全不需担心妨碍其他工作成员。只要我不合并及提交到主要版本库,没有一个工作成员会被影响。等到我不需要这个分支时, 我只要把它从我的本地版本库删除即可。无痛无痒。

  3. 代码同步
    它可以让我们更轻松的同步其他人的代码,远程代码。
    同步步骤,我觉得这篇比较好。

git教程

详细的教程,我觉得廖雪峰老师写的教程非常详细。

安装Git(这里只写windows,其他教程有很多安装方法)

windows安装Git

首先我们去git官网直接下载,我们这里点击Windows,然后点击如下图,会弹出下载确认的弹窗(这里是火狐浏览器),保存安装,选择默认选项安装就可以


安装后在桌面点击右键列表里面出现Git Bash Here点击出现命令窗口。此时则说明安装成功了。

  • 安装成功后进行下一步设置

    第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git
    提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:

       git config --global user.name  "Your Name"
       git config --global user.email "email@example.com"
    

    因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

    如果用了 --global选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

  • 运行git前的配置
    这里以后的内容都可以到git中文网细看了。
    里面的内容比较全面
    在这里插入图片描述

    Git中文网

    内容详尽,建议学习。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值