Git介绍及安装

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章
⭐作者主页:@逐梦苍穹
⭐所属专栏:Git
⭐如果觉得文章写的不错,欢迎点个关注一键三连有写的不好的地方也欢迎指正,一同进步

目录

  • 1、简介
  • 2、版本控制器的方式
    • 2.1、代表性工具
    • 2.2、Git和SVN的区别
    • 2.3、Git工作流程
  • 3、Git的安装

1、简介

Git是一个分布式版本控制系统,用于跟踪文件和项目的变化。它是由Linus Torvalds在2005年创建的,旨在管理Linux内核的开发。Git具有广泛的应用,不仅适用于大型项目,也适用于个人开发者和小团队。
下面是关于Git的一些重要概念和功能的详细介绍:

  1. 版本控制:Git可以追踪文件和项目的各个版本。每次提交更改时,Git都会记录变化的内容和作者,并生成一个唯一的标识符(commit hash)。这使得可以随时回溯和比较不同版本之间的差异。
  2. 分布式系统:Git是一个分布式版本控制系统,意味着每个开发者都可以拥有完整的代码仓库副本。这使得开发者可以在离线环境下进行工作,并且不依赖于集中式服务器。同时,每个副本都可以作为备份,提供了更好的安全性。
  3. 代码托管平台:Git通常与代码托管平台(如GitHub、GitLab和Bitbucket)一起使用。这些平台提供了集中式的代码仓库,开发者可以将本地的Git仓库与远程仓库进行同步,实现代码的共享和协作。
  4. 分支管理:Git鼓励使用分支来组织开发工作。分支是代码仓库的一个独立副本,可以独立进行开发和修改,而不会影响主分支(通常是master或main分支)。开发者可以创建新的分支来添加新功能或修复错误,然后将分支合并回主分支。
  5. 合并和解决冲突:当两个分支的修改冲突时,Git提供了合并和解决冲突的功能。合并将不同的分支合并为一个,而解决冲突是指当Git无法自动合并修改时,需要开发者手动编辑代码以解决冲突。
  6. 标签和里程碑:Git允许开发者为特定的提交或版本添加标签,以便于标识重要的里程碑和发布版本。标签可以帮助开发者快速找到特定版本的代码,并与其他开发者进行共享。
  7. 快照和轻量级分支:Git使用快照的方式保存文件和项目的状态。这意味着每次提交都会创建一个新的快照,而不是保存文件的差异。此外,Git的分支非常轻量级,创建和切换分支非常快速。
  8. 高效的性能:Git在设计上注重性能和效率。由于本地拥有完整的代码仓库,Git可以在本地执行许多操作,而无需与远程仓库进行频繁的通信。这使得Git在处理大型项目和大量文件时表现出色。

总结:Git是一个强大的分布式版本控制系统,它提供了版本控制、分支管理、合并解决冲突、标签等功能,使开发者能够更好地组织和协作开发项目。通过与代码托管平台结合使用,Git已成为当今软件开发中广泛使用的工具之一。

2、版本控制器的方式

版本控制系统(Version Control System,VCS)是一种用于记录和管理文件或项目的不同版本的软件工具。它可以追踪文件的变化、记录历史修改、协调多个开发者之间的工作以及恢复到特定版本。
以下是两种常见的版本控制系统方式的详细介绍:集中式版本控制系统(Centralized Version Control System,CVCS)和分布式版本控制系统(Distributed Version Control System,DVCS):

  1. 集中式版本控制系统(CVCS): 集中式版本控制系统的核心是一个中央服务器,该服务器存储了所有的文件和版本历史。开发者通过连接到中央服务器来访问文件并进行操作。常见的CVCS包括Subversion(SVN)和Perforce。在CVCS中,开发者需要从中央服务器检出(checkout)最新版本的文件,进行修改后再将修改后的版本提交(commit)到服务器。其他开发者可以从服务器更新(update)最新的版本,并在其副本上继续工作。优点:缺点:
    ○ 管理集中,有一份完整的版本历史记录。
    ○ 访问控制灵活,管理员可以对不同用户或团队设置权限。
    ○ 依赖中央服务器,网络连接中断时无法正常工作。
    ○ 需要频繁与服务器进行通信。
  2. 分布式版本控制系统(DVCS): 分布式版本控制系统与CVCS不同,每个开发者都拥有完整的代码仓库副本。每个副本都包含完整的历史记录和版本信息,可以独立工作并在需要时与其他副本同步。常见的DVCS包括Git、Mercurial和Bazaar。在DVCS中,开发者可以在本地进行版本控制操作,包括查看历史记录、创建分支、合并分支等。开发者之间可以通过推送(push)和拉取(pull)操作来共享和同步更改。优点:缺点:
    ○ 强大的分支管理,方便并行开发和实验性修改。
    ○ 本地操作快速,无需频繁与中央服务器通信。
    ○ 每个开发者需要存储完整的代码仓库,占用更多的磁盘空间。
    ○ 学习曲线较陡峭,相对于CVCS有一定的复杂性。

总结: 版本控制系统是开发者进行代码管理和协作的重要工具。CVCS通过中央服务器协调多个开发者的工作,而DVCS则使每个开发者拥有完整的代码仓库,并通过推送和拉取操作实现共享和同步。具体选择哪种版本控制系统取决于项目的需求、团队的规模以及个人偏好。

2.1、代表性工具

CVCS(集中式版本控制系统)的代表性工具是Subversion(SVN)和Perforce。

  1. Subversion(SVN):Subversion是一个开源的集中式版本控制系统,它提供了一套命令行和图形化的工具来管理代码的版本。它使用中央服务器存储代码库,并通过检出(checkout)、提交(commit)和更新(update)等操作来管理文件的变化。Subversion具有良好的用户权限管理和分支合并功能。
  2. Perforce:Perforce是一个商业化的集中式版本控制系统,主要面向大型项目和团队。它提供了高度可扩展的中央服务器,支持大规模项目的版本控制和协作。Perforce具有强大的权限管理、分布式开发支持和复杂项目工作流的能力。

DVCS(分布式版本控制系统)的代表性工具是Git、Mercurial和Bazaar。

  1. Git:Git是一个开源的分布式版本控制系统,具有强大的分支管理、高效的性能和广泛的应用。Git在处理大型项目和大量文件时表现出色,提供了快速的本地操作和灵活的分布式协作能力。它在开源社区和工业界得到了广泛的应用和认可,成为目前最流行的版本控制系统之一。
  2. Mercurial:Mercurial是一个开源的分布式版本控制系统,类似于Git。它提供了简单易用的命令行和图形界面工具,具有良好的性能和可靠性。Mercurial在易学易用、Windows平台兼容性和简化工作流方面具有优势,并广泛用于小型和中型项目。
  3. Bazaar:Bazaar是一个开源的分布式版本控制系统,注重易用性和灵活性。它提供了简单的命令行界面和图形化工具,适用于个人开发者和小型团队。Bazaar支持各种工作流模型,并允许用户选择适合自己项目的开发方式。

这些工具代表了CVCS和DVCS中最为知名和广泛使用的版本控制系统,每个工具都有自己的特点和优势,开发者可以根据项目需求和个人喜好选择适合的版本控制系统。

2.2、Git和SVN的区别

特性 Git SVN
类型 分布式版本控制系统 集中式版本控制系统
分支管理 强大的分支管理和合并功能 简单的分支管理和合并功能
本地操作 快速,无需频繁与服务器通信 需要频繁与服务器通信
协作方式 多个开发者拥有完整的代码仓库副本 开发者从中央服务器检出最新版本的文件
网络依赖 不依赖网络连接 需要网络连接
磁盘空间占用 占用更多磁盘空间 占用较少磁盘空间

Git介绍及安装_第1张图片
Git介绍及安装_第2张图片

2.3、Git工作流程

Git介绍及安装_第3张图片
Git介绍及安装_第4张图片

3、Git的安装

Git下载地址:https://git-scm.com/download

在官网下载可能会比较慢,大家也可以给个免费的点赞加关注,私信我我发给你!

本专栏里的所有git相关操作都是在Git Bash中演示的,会用到一些基本的linux命令,在此提前列举:

  1. ls/ll 查看当前目录
  2. cat 查看文件内容
  3. touch 创建文件
  4. vi编辑器(使用vi编辑器是为了方便展示效果,在Windows系统可以记事本、editPlus、notPad++等其它编辑器)

Git介绍及安装_第5张图片

Git介绍及安装_第6张图片
下载完成后可以得到如下安装文件:
在这里插入图片描述
下面双击运行,然后一路默认,在任意文件夹下面鼠标右键,出现如下则表示安装成功:
  Git介绍及安装_第7张图片
如果是win11,鼠标右键显示不完全,可以使用"按住Shift键再点击鼠标右键"的方法!!

启动成功如下:
Git介绍及安装_第8张图片

你可能感兴趣的:(Git,git,github,java)