Git&GitLAB&SourceTree企业级应用实战

20231204181129.png

第一章 Git版本控制系统

1、Git介绍

Git是一种分布式版本控制系统,广泛应用于软件开发和版本管理中。它于2005年由Linus Torvalds创建,旨在管理Linux内核开发。Git的设计目标是速度、数据完整性和支持分布式、非线性工作流程。

版本控制系统用于记录文件和代码的修改历史,并允许多人协同开发。Git通过跟踪文件的变化,记录每次修改的详细信息,并将这些修改保存在一个称为"仓库"(repository)的数据库中。使用Git,开发人员可以轻松地查看、比较和恢复先前的版本,合并不同人员的修改,并在需要时创建分支进行并行开发。

2、为什么要用Git

  1. 版本控制:Git是一种分布式版本控制系统,它可以跟踪和记录文件的修改历史。这意味着您可以轻松地查看、比较和恢复先前的版本。无论是修复错误、还原代码还是回滚到以前的状态,Git使得管理和控制代码版本变得非常简单和可靠。
  2. 并行开发和团队协作:Git的分支和合并功能非常强大。您可以创建分支来独立开发某个功能或修复某个问题,而不会影响主代码库。开发人员可以并行工作,每个人都可以在自己的分支上进行开发和实验,然后将更改合并到主代码库中。这样可以提高团队的协作效率,并减少代码冲突。
  3. 分布式开发:Git是一种分布式版本控制系统,每个开发者都可以拥有完整的代码仓库副本。这意味着即使在没有网络连接的情况下,开发人员仍然可以继续工作和提交更改。这种分布式的特性使得团队成员可以在独立的环境中工作,而不会对其他人造成干扰。
  4. 安全性和完整性:Git使用SHA-1哈希算法对数据进行校验,以确保数据的完整性和安全性。每个提交都有唯一的哈希值,任何对文件的修改都会被追踪和记录。这使得Git非常可靠,并且能够检测到任何潜在的数据损坏或篡改。
  5. 开源和社区支持:Git是一个开源项目,拥有庞大的开发者社区和广泛的支持。这意味着您可以轻松地获取有关Git的文档、教程和资源,并且可以从社区中获得帮助和支持。

3、SVN和Git的区别

Git和SVN(Subversion)是两种常见的版本控制系统,它们在设计和使用上有一些重要区别:

分布式 vs 集中式:Git是一种分布式版本控制系统,每个开发者都可以拥有完整的代码仓库副本,并且可以在本地进行提交、分支和合并等操作。而SVN是一种集中式版本控制系统,所有的代码仓库和版本历史都存储在中央服务器上,开发者需要通过网络连接来进行提交、更新和分支操作。

工作方式:在Git中,开发者将代码仓库完整地克隆到本地,并在本地进行开发和修改。开发者可以在没有网络连接的情况下进行工作,并在需要时将更改推送到远程仓库。而在SVN中,开发者只是在本地对文件进行修改,然后将更改提交到中央服务器。

分支和合并:Git的分支和合并功能非常强大和灵活,开发者可以轻松地创建、切换和合并分支,使得并行开发和团队协作变得更加容易。而SVN的分支和合并相对较为复杂,需要在中央服务器上进行操作,并且容易出现冲突和问题。

性能:由于Git是一种分布式系统,每个开发者都有一个完整的代码仓库副本,因此Git在处理大型项目和庞大历史记录时通常比SVN更快速和高效。

数据完整性:Git使用SHA-1哈希算法对数据进行校验,以确保数据的完整性和安全性。每个提交都有唯一的哈希值,可以对文件内容进行完整性检查。而SVN没有类似的数据完整性校验机制。

总体而言,Git强调分布式、并行开发和灵活性,适用于大型项目和团队协作。SVN则更加集中式,适用于较小的项目和团队。选择使用哪种版本控制系统取决于项目的需求、开发团队的规模和工作流程的特点。

4、Git的工作区、暂存区、版本库介绍

在Git中,有三个关键的工作区域,它们分别是工作区(Working Directory)、暂存区(Staging Area)和版本库(Repository)。
在这里插入图片描述

  1. 工作区(Working Directory):
    工作区是指存放项目实际文件的目录,也就是我们在电脑上看到的项目文件夹。在工作区中,我们可以进行文件的编辑、添加、删除等操作。
  2. 暂存区(Staging Area):
    暂存区是介于工作区和版本库之间的一个中间区域。当我们在工作区进行了文件的修改后,我们可以使用git add命令将修改的文件添加到暂存区。暂存区相当于一个缓冲区,用于暂时存放待提交的修改。
  3. 版本库(Repository):
    版本库是Git中最重要的部分,它包含了项目的完整历史记录和元数据信息。版本库一般存储在项目根目录下的.git文件夹中。版本库中包含了暂存区的内容以及之前的提交历史。在版本库中,我们可以执行各种操作,如提交修改、创建分支、合并分支等。

Git的基本工作流程如下:

  1. 在工作区中进行代码的修改和编辑。
  2. 使用git add命令将修改的文件添加到暂存区。
  3. 使用git commit命令将暂存区的内容提交到版本库中,形成一个新的提交记录。
  4. 可以在版本库中进行分支操作、合并操作等。
  5. 重复上述步骤,进行新的修改、提交和操作。

通过这种工作流程,Git可以有效地跟踪和管理文件的修改历史,并支持多人协同开发和并行工作。

5、Windows、Centos、Ubantu安装git

5.1 Windows安装Git

下载地址:

https://github.com/git-for-windows/git/releases/download/v2.43.0.windows.1/Git-2.43.0-64-bit.exe

5.2 CentOS安装Git

yum install git -y	

5.3 Ubantu安装Git

# add-apt-repository ppa:git-core/ppa # apt update; apt install git

6 本地仓库初始化

git init

7 目录解析

		[root@k8s-master01 .git]# ls -l
总用量 32
drwxr-xr-x 2 root root 4096 124 14:27 branches
-rw-r--r-- 1 root root   92 124 14:27 config
-rw-r--r-- 1 root root   73 124 14:27 description
-rw-r--r-- 1 root root   23 124 14:27 HEAD
drwxr-xr-x 2 root root 4096 124 14:27 hooks
drwxr-xr-x 2 root root 4096 124 14:27 info
drwxr-xr-x 4 root root 4096 124 14:27 objects
drwxr-xr-x 4 root root 4096 124 14:27 refs
[root@k8s-master01 .git]# 

在给出的输出中,显示了一个名为".git"的目录及其内容。这是一个典型的Git版本控制系统的存储库目录。下面是每个目录的简要说明:

  1. branches:该目录存储了存储库中的分支信息。在这个例子中,该目录为空,可能是因为没有创建或使用分支。
  2. config:这是Git存储库的配置文件。它包含了与存储库相关的配置选项,如用户名、电子邮件地址、远程存储库等。
  3. description:此文件包含对存储库的描述信息。它可以是一个简短的文本文件,用于描述存储库的目的或内容。
  4. HEAD:这是一个符号链接ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小杨同学THY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值