• Git 第一篇:简单介绍


    Git是一个开源的分布式版本控制系统,分布式相比集中式的最大区别是Git没有“中央版本库”,每一位开发者都可以通过克隆(git clone)远程代码库,在本地机器上初始化一个完整的代码版本,开发者可以把代码的修改提交到本地代码库,也可以把本地的代码库同步到远程的master代码库。常用的工作流程是:开发者通过git pull/fetch命令把远程的代码库和本地的master代码库(主分支)进行合并,解决冲突之后,把本地代码库推送(git push)到远程的master代码库。

    一,安装Git

    Git支持Linux、Windows和Mac系统,安装Git,可以到Git官方网站直接下载安装程序。在使用Git管理代码的过程中,开发人员还需要一个代码编辑器,本文使用VS Code。

    安装Git的过程中,选择VS Code作为Git的默认编辑器,其后面的步骤都使用默认选项,一直点击Next就可以完成安装。

    如何在VS Code中使用Git来管理代码,请阅读《VS Code使用Git管理代码》,本文不再赘述。

    二,Git的目录结构

    Git的目的是实现离线的多人协作,工作流程概括如下:

    • Git系统有两个代码库,远程服务器上的代码库(也称作远程库)和用户在本地主机上创建的代码库(也称作本地库)。
    • 用户通过 fetch/clone命令把远程库同步到本地库,通过push命令把本地库的主分支同步到远程库。
    • Git系统具有分支功能,每个代码库都有主(master)分支或辅分支,辐分支独立于主分支之外,用于对代码进行修改而不影响其他开发者的工作。
    • Git在本地库上默认创建主分支(master),同步到远程库的更新都是通过主分支来的。用户可以创建辐分支,在辐分支上修改代码,经调试没有异常后,合并到主分支,提交到本地库。

    创建本地库的过程是非常简单的,用户在本地主机上创建一个空目录,执行 git init 或 git clone命令后,该目录就变成Git的本地库,其根目录中会自动生成一个.git的隐藏目录,而Git进行版本控制所需要的文件,则都放在.git文件夹中。

    在本地代码仓库根目录中,除.git目录之外的所有与.git同级的目录及其子目录都叫做工作区。

    Git中独有的术语,理解这些术语非常重要:

    • 远程仓库(Remote):也叫作资源库,是远程机器上的代码库。
    • 本地库(Repository):是用户在本地创建的目录,拥有远程库的一个快照,由工作区和版本库构成。
      • 工作区(Workspace):本地库的根目录中除.git目录以外的内容,存储内容的实际文件;
      • 版本库(.git目录):是本地库的根目录中的一个隐藏目录.git,用于记录版本信息,Git进行版本控制所需要的文件,则都放在.git文件夹中;
        • 暂存区(Index):也叫做缓存区,暂存信息存放在.git目录"下的index文件(.git/index)中,用于临时保存内容的修改;
        • HEAD文件:是.git目录下的HEAD文件(.git/HEAD),指向最后依次提交的结果。
    • 分支(Branch):本地库中默认创建一个主(master)分支,分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

    开发人员通过Git命令来管理代码,最常用的6个命令如下图所示:

     

    三,Git工作流程

    从一般开发者的角度来看,使用Git的工作流程是:

    1. 克隆远程库:从远程库上克隆完整的Git仓库(包括代码和版本信息)到本地;
    2. 在本地库上修改代码:在本地库上根据不同的开发目的,创建分支,修改代码;
    3. 提交到分支:在本地分支上提交代码;
    4. 把修改合并到本地主分支:在本地库上提交更新,也就是说,把修改合并到本地主分支;
    5. 把远程库合并到本地主分支:把远程库上的最新代码fetch下来,跟本地主分支合并,如果存在冲突,那么解决冲突。
    6. 把本地主分支提交到远程库:生成补丁(patch),把补丁发送给远程库。

    化繁为简,Git最核心的工作流程是:当把远程库克隆到本地之后,使用Git的工作流程大致是修改本地库、把改动推送到远程库。

    step1,克隆远程库

    使用 git clone 从远程代码库中拷贝代码到本地,默认在本地创建一个master分支的代码库,git clone命令会创建远程库和本地库之间的关联:

    git clone [url]

    step2,checkout 

    checkout 命令的作用主要是切换或者新建分支,在本地创建一个新的分支,并把工作空间切换到新的分支(Branch)上。

    step3,提交到本地库

    用户在工作空间内添加或修改文件,把文件的修改添加到暂存区,使用如下命令:

    git add <filename>

    这是 git 基本工作流程的第一步;使用如下命令以实际提交改动:

    git commit -m "comments"

    现在,改动已经提交到本地库,但是还没推送到远端仓库。

    step4,把修改推送到远程库
    由于改动只存在于在本地仓库中了,还需要通知其他用户代码已更新。执行push命令把改动提交到远端代码库,默认是推送到master分支:

    git push origin master

    也可以把 master 换成你想要推送到的任何目标分支。

    参考文档:

    Git的原理简介和常用命令

  • 相关阅读:
    23. call和apply和bind的区别
    22.call方法的深入
    21.函数的三种角色
    20.原型深入
    2.9 原型链综合复习参考
    2.8深入扩展原型链模式常用的六种继承方式
    2.7原型链模式扩展-批量设置公有属性
    php数组函数有哪些操作?php数组函数的应用
    PHP常见的一些问题总结(收藏)
    yii框架 隐藏index.php 以及美化URL(pathinfo模式访问)
  • 原文地址:https://www.cnblogs.com/ljhdo/p/5618809.html
Copyright © 2020-2023  润新知