前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式版本控制 Git 最佳实践(一)

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

作者头像
RiemannHypothesis
发布2022-09-26 16:46:00
2350
发布2022-09-26 16:46:00
举报
文章被收录于专栏:ElixirElixirElixir

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情

一、版本控制系统 VCS 与 Git

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

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

image.png
image.png

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

image.png
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

image.png
image.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 到远程仓库
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、版本控制系统 VCS 与 Git
  • 二、Git 的安装以及配置
    • Git 安装
      • Git 配置
        • Git 的常用名词概念
          • Git 的工作流程
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档