分布式版本控制 Git 最佳实践(一)

简介: 分布式版本控制 Git 最佳实践(一)

一、版本控制系统 VCS 与 Git

在版本控制系统出现之前版本控制实现的方式通常都是通过拷贝修改文件夹、给文件添加日期或者 v1、v2 这样的标识来实现的,至少我们当时在做性能测试脚本的版本管理时是这样的,几个人协作的时候泽中方式会导致沟通成本非常高,并且非常容易出错,一不小心就拷贝错了或者被覆盖了。

后来就是用了 SVN 来实现版本控制,SVN 是一种集中式的版本控制系统,有一台 Central Server 中保存着所有的版本历史,具备了文件版本管理能力和分支管理能力,集成效率明显提高,但是这要求客户端必须与服务端时刻保持连接,并且每个客户端中没有完整的版本历史。

image.png

由于 VCS 商业化,后来 Linus 开发出了自己的开源的分布式管理系统。

image.png

集中式和分布式最大的区别就是每个节点都包含了版本的完整历史,每个节点都可以管理版本,版本之间管理无须访问服务器,更能提高版本管理的效率。

Git 的特点:

  • 开源、分布式
  • 速度快、性能好
  • 优秀的存储能力
  • 有能力管理类似 Linux 内核一样的超大规模项目 关于 Git 的历史也可以参考 Git Book

二、Git 的安装以及配置

Git 安装

以在云服务器上安装 Git 最新稳定版 2.36.1 为例,安装步骤如下:

# 检查是否已安装 git
git --versioin
# 删除已安装的 git
yum remove -y git
# 安装依赖
yum install -y gcc perl-ExtUtils-MakeMaker curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
# 下载最新版本的 git
wget https://www.kernel.org/pub/software/scm/git/git-2.36.1.tar.gz --no-check-certificate
# 解压 git 安装包
tar -zxvf git-2.36.1.tar.gz
# 重命名并移动到 /usr/local/ 目录下
mv git-2.36.1 /usr/local/git
# 进入 /usr/local/git 目录,并安装
cd /usr/local/git
./configure
make & make install
# 添加环境变量并重启
echo "export PATH=/usr/local/git/bin:$PATH" >> /etc/profile
source /etc/profile
# 再次查看 git 版本
git --version
复制代码

通过 git --version 命令查询到已安装的 Git 版本为 2.36.1

6672d592de454a6fb52c354bf3793d03_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

Git 配置

Git 安装完成之后可以通过 git --help 来查看帮助命令, git config 命令可以用来配置用户信息,这个配置用于显示代码提交人员的信息,当进行Code Review 或者提交的 PR 被合并了等都会通过设置的邮件信息向用户发送邮件。

git config --global user.name 'your username'
git config --global user.eamil 'your email address'
复制代码

--global 是指全局配置,如果不填默认是 local,作用域主要有三个级别:

  • local:只对某个仓库有效
  • global:对当前用户的所有仓库都有效
  • system:对系统所有登录的用户都有效 如果这三个参数都配置了,提交时所采用的 username 和 email 会采用 就近原则,如果 local 有配置就采用,否则才有 global 的配置,以此类推。

也可以通过 git config --list --local\global\system 来查询不同的配置或者所有配置。

Git 的常用名词概念

  • Git 仓库 Repository 目录是 Git 用来保存项目的元数据和对象数据库的地方,分为本地仓库和远程仓库
  • clone 克隆,就是将远程仓库复制到本地
  • push 推送,就是将本地仓库代码上传到远程仓库
  • pull 拉取,就是将远程仓库代码下载到本地仓库
  • commit 提交,将文件提交到本地仓库
  • add 添加,将文件添加到到暂存区

Git 的工作流程

  1. 从远程仓库中 clone 代码到本地仓库或者本地新建一个仓库使用 git init 来初始化
  2. 从本地仓库中 checkout 创建分支代码,然后进行代码修改
  3. 在提交前先将代码 add 添加到到暂存区
  4. commit 提交到本地仓库。本地仓库中保存修改的各个历史版本
  5. 修改完成后,需要和团队成员共享代码时,将代码 push 到远程仓库


相关文章
|
2月前
|
开发工具 git
学习Git的最佳实践有哪些?
遵循这些最佳实践,能让你更高效地使用 Git,更好地管理项目的版本和协作。
|
12天前
|
人工智能 分布式计算 数据处理
云产品评测:MaxFrame — 分布式Python计算服务的最佳实践与体验
阿里云推出的MaxFrame是一款高性能分布式计算平台,专为大规模数据处理和AI应用设计。它提供了强大的Python编程接口,支持分布式Pandas操作,显著提升数据处理速度(3-5倍)。MaxFrame在大语言模型数据处理中表现出色,具备高效内存管理和任务调度能力。然而,在开通流程、API文档及功能集成度方面仍有改进空间。总体而言,MaxFrame在易用性和计算效率上具有明显优势,但在开放性和社区支持方面有待加强。
42 9
|
3月前
|
Linux 开发工具 git
掌握 Git:版本控制的艺术
Git 是由 Linus Torvalds 开发的分布式版本控制系统,广泛用于代码管理和团队协作。其核心价值在于分布式特性、数据完整性和支持非线性开发。本文介绍 Git 的安装、仓库初始化、文件管理、分支管理、远程仓库操作及撤销操作等基础与高级技巧,助你掌握版本控制的艺术。通过实践,你将能更高效地利用 Git 进行代码管理和团队协作。
|
2月前
|
开发工具 git 开发者
Git 作为最流行的分布式版本控制系统之一,为开发者提供了强大的功能和灵活的操作方式
本文深入介绍了 Git 中的 `git rebase` 操作,涵盖其基本概念、原理、与 `git merge` 的区别、具体操作步骤及应用场景,如保持提交历史整洁、解决合并冲突等,并讨论了其优缺点。强调在公共分支上谨慎使用 rebase,以避免潜在的风险。
38 6
|
2月前
|
存储 算法 开发工具
Git 作为最流行的分布式版本控制系统之一
Git 作为最流行的分布式版本控制系统之一,为开发者提供了强大的功能和灵活的操作方式
49 2
|
2月前
|
测试技术 持续交付 开发工具
Git版本控制在团队协作中具有重要作用
Git版本控制在团队协作中具有重要作用
36 1
|
2月前
|
数据可视化 开发工具 git
如何解决 Git 版本控制系统中冲突的问题?
在Git版本控制系统中,冲突是指在合并或拉取操作时,两个或多个开发者对同一文件的同一部分进行了不同的修改,导致Git无法自动确定应该采用哪种修改。
39 1
|
2月前
|
Ubuntu 开发工具 git
Git高手必备:掌握这些版本控制最佳实践,让你的代码管理效率翻倍!
【10月更文挑战第25天】使用 Git 进行版本控制是现代软件开发的重要部分。本文详细介绍了 Git 的安装、配置、基本操作、分支管理、冲突解决及常用命令,帮助开发者提高工作效率,确保代码质量和团队协作的顺利进行。通过合理使用 Git,可以有效管理代码变更,支持多人协作,并追踪历史记录。
92 4
|
2月前
|
开发工具 C# git
C#一分钟浅谈:Git 版本控制与 GitFlow 工作流
【10月更文挑战第22天】本文介绍了 Git 和 GitFlow 的结合使用,从基础概念到具体操作,涵盖了安装配置、基本命令、GitFlow 工作流的核心分支和流程示例。同时,文章还讨论了常见的问题和易错点,如忽略文件、冲突解决、回退提交和分支命名规范,并提供了代码案例。通过学习本文,读者可以更好地理解和应用 Git 及 GitFlow,提高团队协作效率。
63 1
|
2月前
|
存储 项目管理 开发工具
掌握Git版本控制,提升团队协作效率
掌握Git版本控制,提升团队协作效率
45 0