> 技术文档 > 【Linux系统】Git 入门指南:如何高效管理你的代码库

【Linux系统】Git 入门指南:如何高效管理你的代码库


文章目录

  • Git 的介绍
  • 安装 `Git`
  • 创建仓库
  • `Git` 三板斧
    • `add`
    • `commit`
    • `push`
  • 冲突问题
  • 常用 `Git` 指令

Git 的介绍

Git 是一个分布式版本控制系统,用于跟踪文件的变化并支持团队协作开发。最初由 Linus TorvaldsLinux 操作系统的创始人)开发,Git 在开发者中变得非常流行,尤其是因为其高效、灵活和能够支持分布式开发的特点。

主要特点和概念

  1. 分布式版本控制

    • 分布式:每个使用 Git 的开发者都拥有完整的代码库副本,并且可以在本地进行操作,不需要依赖中央服务器。这使得 Git相比于集中式版本控制系统(如 SVN)更具有灵活性和抗故障能力。
    • 本地提交:开发者可以在本地进行提交和版本管理,而无需立即与远程仓库同步。可以在网络连接不稳定的情况下继续工作,等到合适的时机再推送更改。
  2. 版本历史和快照

    • Git 会记录每次提交的快照,而不是像其他版本控制系统那样记录差异(差异文件)。每个提交实际上都是代码库状态的完整快照。这样,不仅能恢复历史版本,还能快速了解代码库的变化。
    • 提交(commit)时,Git 会为每次提交生成一个唯一的哈希值(SHA-1),这使得每个提交都可以通过哈希值唯一标识。
  3. 分支与合并(Branching and Merging)

    • Git 的分支管理非常灵活且轻量级。开发者可以在分支上独立工作,然后将分支合并到主分支(通常是 mainmaster)。
    • 分支的创建和切换几乎没有成本,允许开发者同时处理多个功能、修复或者实验性工作,而不干扰主线开发。
    • 合并(merge)允许将不同分支的更改整合到一起,Git 会尽可能智能地自动处理冲突,如果有冲突,开发者需要手动解决。
  4. 工作区、暂存区与版本库

    • 工作区Working Directory):是开发者正在进行编码的地方,包含所有的文件和代码。
    • 暂存区Staging Area):是一个中间区域,允许开发者选择性地将更改“暂存”起来,准备提交。可以理解为一个待提交的文件集合。
    • 版本库Repository):是 Git 存储代码版本历史的地方。每当你执行提交时,Git 会将当前的代码快照保存到版本库中。
  5. 远程仓库(Remote Repositories

    • Git 支持远程仓库,允许多人协作开发。开发者可以将本地仓库的更改推送(push)到远程仓库,也可以从远程仓库拉取(pull)最新的更改。
    • 常见的 Git 托管平台有 GitHubGitLabBitbucket 等,它们提供了托管 Git 仓库的服务,方便团队进行协作。

安装 Git

Linux (Ubuntu)系统中,使用以下命令来安装 Git

sudo apt updatesudo apt install git

使用 git --version来查看是否安装成功:
【Linux系统】Git 入门指南:如何高效管理你的代码库

创建仓库

我们以 gitee 做演示如何创建远端仓库,github 也是同样的道理。

  1. 在你的个人主页找到新建仓库
    【Linux系统】Git 入门指南:如何高效管理你的代码库
    对你要新建的仓库做各种设置
    【Linux系统】Git 入门指南:如何高效管理你的代码库
    在你的新建的仓库界面找到 clone 到本地的终端指令
    【Linux系统】Git 入门指南:如何高效管理你的代码库
    【Linux系统】Git 入门指南:如何高效管理你的代码库

  2. 在终端上执行 clone 指令,然后输入你 gitee 的账号和账号密码。需要注意的是,你只能将远端仓库 clone 到空目录,一个目录下只能有1个本地仓库。
    【Linux系统】Git 入门指南:如何高效管理你的代码库
    【Linux系统】Git 入门指南:如何高效管理你的代码库

补充:我们进到到 test 目录里,使用 ls -al 指令,如下图:
【Linux系统】Git 入门指南:如何高效管理你的代码库

  • 仓库目录其实是工作区,并不是真正的本地仓库,也就是说你在仓库目录写的代码需要手动上传到本地仓库中。
  • .git 这个隐藏目录才是真正的本地仓库

Git 三板斧

add

git add filename
  • 将当前目录下的文件上传到暂存区里。

暂存区存在的意义:当你需要多次提交时候,你就可以将多次提交的文件存放在暂存区,最后一次性上传到本地仓库。

commit

git commit -m \"message\"
  • 将暂存区的所有文件上传到你的本地仓库里。

  • -m 代表这次修改的相关信息,保存在日志信息里。

【Linux系统】Git 入门指南:如何高效管理你的代码库

使用 git status 来查看当前相关文件的状态
【Linux系统】Git 入门指南:如何高效管理你的代码库
使用 git log 来查看日志信息
【Linux系统】Git 入门指南:如何高效管理你的代码库

注意:当你第一次执行该指令时会报错提醒需要配置用户信息,执行以下指令即可。

git config --global user.name \"your name\"git config --global user.email \"you@example.com\"

push

git push
  • 将你本地仓库的代码和文件推送到远端仓库(该过程要输入你 gitee 的账号与账号密码)

【Linux系统】Git 入门指南:如何高效管理你的代码库
推送到远端仓库后,我们就可以在 gitee 上查看了。
【Linux系统】Git 入门指南:如何高效管理你的代码库

冲突问题

如果远端仓库与本地仓库不一致的话,我们是直接 commit 是会报错的,需要同步两个仓库的信息才可以。
【Linux系统】Git 入门指南:如何高效管理你的代码库
我们只需要将远端仓库拉取到本地就可以完成同步。

git pull

常用 Git 指令

  • git init:初始化一个新的 Git 仓库。
  • git clone:从远程仓库克隆一个本地副本。
  • git status:查看当前工作区的状态(哪些文件被修改了,哪些文件已经暂存等)。
  • git add:将文件添加到暂存区,为提交做准备。
  • git commit:提交暂存区的更改,保存到本地仓库。
  • git push:将本地的更改推送到远程仓库。
  • git pull:从远程仓库拉取并合并最新的更改。
  • git merge:将一个分支的更改合并到当前分支。
  • git branch:列出、创建或删除分支。
  • git log:查看提交历史。

Have a good day😏

See you next time, guys!😁✨🎞
【Linux系统】Git 入门指南:如何高效管理你的代码库