前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git 学习路线图:为什么每个开发者都应该了解它?

Git 学习路线图:为什么每个开发者都应该了解它?

原创
作者头像
Lion Long
发布2024-07-26 22:58:40
1360
发布2024-07-26 22:58:40
举报
文章被收录于专栏:后端开发技术

“ 在当今的开发环境中,版本控制系统是协作开发的核心工具,而 Git 以其强大的分布式特性脱颖而出。本文将深入探讨 Git 的基本概念、实际应用以及其与传统集中式版本控制系统 SVN 的主要区别。还将提供在各种操作系统上安装和配置 Git 的详细指南。

一、概述 

本文分享分布式版本控制工具:Git。本系列主要从四个角度进行讲解:

  1. git是什么?
  2. git有什么用?
  3. 为什么要用git?
  4. 要学什么?以及怎么用?
图片
图片

1.1、git是什么?

git是一个分布式的版本控制工具,用于跟踪文件的更改,协作开发和管理项目代码。它允许多个开发者协同工作,跟踪代码的修改历史,并在需要时进行回溯或合并。

一提到这个Git工具,马上能联想到一个非常著名的平台:GitHub。GitHub 是一个基于 Git 版本控制系统的代码托管平台。它是一个存储代码的地方,可以通过网络访问并在全球范围内进行协作。GitHub上面有很多优秀的开源框架和代码,我们可以在上面分享代码,和其他开发者协作开发项目。GitHub现在是微软旗下的公司。

除了GitHub,国内还有gitee和gitlab,gitee目前还有一些问题,比如有些私有的项目只能私有,无法开放。

1.2、git有什么用?

  • git可以保存文件的所有修改记录。进行开发的时候,在本地可以保存我们代码,然后上传到服务器中。
  • 使用版本号进行区分。每次和服务器交互时都会提交一些修改的代码,git会为每一次提交生成版本号,用这个版本号来进行区分每一次的提交。这个版本号在git当中会使用一个hash值进行唯一区分;这个hash函数使用的是sha1(不仅git使用这个sha1生成hash值,一些著名的软件,如redislua等也是使用sha1产生hash值)。
  • 随时可以浏览历史版本记录。协同开发的时候,产生的每次提交都会在git上保存有历史版本信息,根据历史版本信息可以追溯到具体代码提交;以及当代码出现bug时可以根据历史版本锁定bug位置。
  • 可还原到历史指定版本。当代码出现bug时,可以还原到历史指定的版本。
  • 对比不同版本之间的文件差异。使用git diff工具进行比较文件差异。
图片
图片

1.3、为什么用git?

主要因为Git是目前最热门的分布式版本控制工具。多人协作开发大型项目时,都离不开Git的帮助。使用git后每个人具体的工作方式:从代码库下载代码,然后在本地进行修改,最后将每个人不同的代码版本合并到一起,上传到平台上。

一般来说,每个公司都有一个自己的代码托管平台,比如 gitlab。git是为协作开发而生。

git的意义:

  1. 多人协作开发大型项目。
  2. 为协作开发而生,大势所趋,公司都在使用。
  3. 每个人都从代码库下载代码,然后修改,将所有人的代码合并后统一上传到平台。
  4. 每个公司都有自己的代码托管平台,github是免费的、开源的托管平台。

1.4、怎么学习Git ?

接下来介绍怎么学习Git。主要从三个维度进行讲解:

  1. 基本概念。要了解Git的抽象,它抽象了哪几个环节,那么我们去具体使用的时候,是从哪几个环节去下手的好。
  2. 操作。包括:
    • 基本操作
    • 逆向操作;即当我们按着顺的方式去操作时,如果出错了,怎么退回来,就是逆向操作。
    • 本地仓库的整理操作;就是提交代码的时候,我们希望这个提交记录比较美观,并且有条理性,那么我们需要对本地仓库进行一个整理,然后再把它部署到我们的远端服务器。
    • 分支操作;就是我们怎么跟其他人协作,上面的几点都是我们自己在开发功能,然后提交一些内容,然后做一些修改,那么分支呢,就是我们跟其他的分支跟主分支进行交互,我们把最新的数据推到远端去,或者从远端拉最新的数据到我们本地等等这些分支操作。
    • 解决冲突;因为多个人同时来开发一个功能的时候呢,可能会产生一些冲突,那么产生冲突我们怎么解决?
  3. 使用规范。介绍一下在公司当中通常需要使用到的一些规范,这个规范是可以参考的,每一个公司会不一样,但是它们遵遵循的原则都是一样的。
图片
图片

二、Git与SVN的区别?

SVN是一种集中式的版本管理工具:

  1. 版本管理有一个中央服务器,可以保存所有代码、文档。
  2. 每一次的修改都可以提交到版本库,修改有记录,可追踪。
  3. 不害怕某个同事离职了,代码没有入库。
  4. 本地的代码流失后,可以从版本库检出。
  5. 多人协作,每个同事完成的工作提交到版本库,方便进行集成。
  6. 当我们要开发需求或修复PR时,可以从版本库上拉出分支管理。
  7. 在大的企业,每次提交都可能触发一次构建,实时检查代码的质量。
  8. 如果构建失败了,可以自动revert掉某次提交。
图片
图片

SVN只有一个服务器,部署在远端,本地都是和远端进行交互。而Git是分布式的版本控制工具,除了一个中央服务器进行代码托管之外,本地也会有一个仓库,进行代码提交时,可以先提交到本地仓库,然后根据需要或时机再推送到远端;除了本地推送到远端服务器,还可以进行两台机器之间的本地仓库相互协作,不一定非要跟远端的服务器交互(即Git允许个人之间的互相协作)。

git的仓库主要存储差异文件,存储的数据非常高效。当我们把修改的文件推送到仓库时,仓库会把历史版本文件进行比较,然后存储差异数据。

图片
图片

它们的区别:

  • 分支管理:Git采用轻量级分支,而SVN每次切换分支需复制整个项目目录。
  • 合并操作:Git的合并操作相对简单,而SVN合并时可能出现大量的冲突。
  • 分布式:Git是分布式版本控制系统,而SVN则是集中式系统。
  • 适用场景:Git更适合大型项目或开源项目的协作,而SVN更适合中小型团队或需要集中式管理的项目。
  • 版本号:Git没有一个全局的版本号,而SVN有。
  • 内容存储:Git的内容是按元数据方式存储,而SVN是按文件处理。
  • 分支:SVN的分支是一个目录,而Git不是。

三、安装Git 

3.1、Linux上安装git

在linux上建议用二进制的方式来安装 git,可以使用发行版包含的基础软件包管理工具来安装,如果你是 CentOS 或者 Fedora 的操作系统,可以使用yum命令来安装git

代码语言:javascript
复制
sudo yum install git

如果你是 ubuntu 或者是 Debian 可以使用apt-get的命令来安装git

代码语言:javascript
复制
sudo apt-get install git

要了解更多选择,Git 官方网站上有在各种 Unix 风格的系统上安装步骤,网址为 http://git-scm.com/download/linux。

3.2、Windows上安装Git

在 Windows 上安装 Git 也有几种安装方法。官方版本可以在 Git 官方网站下载。打开http://git-scm.com/download/win,可能会检查你的操作系统是32位的还是64位的,并自动开始下载对应的安装包。如果没有自动下载,可以在页面选择合适的安装包进行安装。

另一个简单的方法是安装 GitHub for Windows。该安装程序包含图形化和命令行版本的 Git。它也能支持Powershell,提供了稳定的凭证缓存和健全的换行设置。你可以在 GitHub for Windows 网站下载,网址为 http://windows.github.com。

3.3、MAC上安装git

首先查看电脑是否已经安装git,打开终端输入:git,安装过则会输出:

代码语言:javascript
复制
MacBook-Pro:~ WENBO$ git
usage: git [--version] [--help] [-C <path>] [-c name=value]
        [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
        [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
        [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
        <command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
    clone Clone a repository into a new directory
    init Create an empty Git repository or reinitialize an existing one

方法一:通过homebrew安装git。

  1. 首先homebrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 安装git: brew install git

方法二:通过xcode。直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。

四、配置git环境 

当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:

代码语言:javascript
复制
git config --global user.name "LionLong"
git config --global user.email ntf_work@163.com

再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情,Git 都会使用那些信息。当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

很多 GUI 工具都会在第一次运行时帮助你配置这些信息。你也可以使用git config --list来查看git的所有配置。

若使用 Git 时需要获取帮助,有三种方法可以找到 Git 命令的使用手册:

代码语言:javascript
复制
git help <verb>
git <verb> --help
man git-<verb>

例如,要想获得 config 命令的手册,执行:

代码语言:javascript
复制
git help config

当然,如果遇到问题也可以查看git的官方文档https://git-scm.com/book/zh/v2。

五、总结 

在这篇文章中全面探讨了 Git这个强大的分布式版本控制工具的学习路线。Git 是一个强大的工具,它能够显著提升代码管理和团队协作的效率。无论你是开发新项目还是维护现有项目,掌握 Git 的使用都将为你提供极大的便利。

学习 Git 不仅需要掌握其基本命令和操作,还要理解其背后的工作原理。建议读者通过实际操作和项目实践来巩固所学知识,同时参考官方文档和社区资源进行深入学习。

本系列的后续文章将继续讲解Git的基本概念和常用命令,即怎么使用Git。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概述 
    • 1.1、git是什么?
      • 1.2、git有什么用?
        • 1.3、为什么用git?
          • 1.4、怎么学习Git ?
          • 二、Git与SVN的区别?
          • 三、安装Git 
            • 3.1、Linux上安装git
              • 3.2、Windows上安装Git
                • 3.3、MAC上安装git
                • 四、配置git环境 
                • 五、总结 
                相关产品与服务
                云服务器
                云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档