本文章为Git+Github版本控制的学习笔记,学习参考为GeekHour发布的Git教程视频。 视频地址:【GeekHour】一小时Git教程

一、版本控制系统介绍

版本控制系统(Version Control System,VCS)是一种用于管理和跟踪代码变化的工具。它允许开发者记录、回溯、比较和合并代码的不同版本,从而提供了更好的代码管理和协作环境。

相对于传统的文件夹管理,使用版本控制系统优点包括:历史记录和版本回溯、并行开发和协作、安全性和可靠性、错误修复和问题追踪、分支管理、更好的协作和团队管理、可视化和比较工具。

版本控制系统的常见架构分为分布式版本控制系统(DVCS)和集中式版本控制系统(CVCS)。

  • 在集中式版本控制系统中,所有的代码均保存在中央服务器当中,而在每个开发者的设备中仅保存副本,在修改后再上传至中央服务器当中。

  • 在分布式版本控制系统中,每个开发者的设备中都有完整的代码副本,可以本地离线进行操作,在修改后提交仓库,并更新其他开发者的副本。

  • 相对于集中式,分布式版本控制系统具有离线操作能力,并且可以灵活的管理分支,不依赖中央服务器则保证开发环境更好的安全性和稳定性

Git版本控制系统是目前最流行的分布式版本控制系统,而且Git有庞大的开源社区支持,开发者可以通过Github、Gitee等开源平台实现项目开发和团队协作。

二、Git的安装

Git下载安装

Git官方网站:Git (git-scm.com)

Git-2.46.0-64-bit.exe下载:Git-2.46.0-64-bit.exe | 筱 柒 の 云 盘 (littleseven.me)

Git安装过程可以参考:Git安装教程(超详细)-CSDN博客

posh-git安装:

Github项目地址:dahlbyk/posh-git: A PowerShell environment for Git (github.com)

# 安装依赖包 posh-git 作用:美化命令行,特别是git
$ Install-Module posh-git -Force
​
# 引入依赖包 posh-git
$ Import-Module posh-git
​
# 将 posh-git 添加到你的 PowerShell 配置文件中
$ Add-PoshGitToProfile
​
# 安装依赖包 PSReadLine 作用:提供PowerShell命令的联想,rightArrow选中联想结果
$ Install-Module -Name PSReadLine -AllowClobber -Force
​
# 引入依赖包 PSReadLine
$ Import-Module PSReadLine

Git用户名及邮箱配置

# 配置Git全局用户名为Littleseven
git config --global user.name "Littleseven"
​
# 配置Git全局用户邮箱为littleseven2003@gmail.com
git config --global user.email "littleseven2003@gmail.com"
​
# 配置 Git 在每次访问远程仓库时都记住密码,将其存储在本地,以免每次都需要输入用户名和密码
git config --global credential.helper store

三、Git初步使用

新建仓库

仓库(Repository)是用于存储项目的版本控制信息的地方。它可以被视为一个项目的数据库,包含项目的所有文件、历史记录和分支信息。

在Git当中,仓库分为两种类型,即本地仓库远程仓库。本地仓库是指在开发者本地机器上创建存储的仓库,而远程仓库则是位于远程服务器上的仓库。

使用命令创建仓库

创建仓库以"D:\learn-git"文件夹为例

# 创建并进入learn-git目录
mkdir learn-git
cd learn-git
​
# 将该文件夹初始成为一个仓库
git init
​
# 或者使用如下命令直接创建仓库
git init learn-git

image-20240908135317084

远程仓库则使用git clone直接克隆一个完整的远程仓库。

四、Git工作区域和文件状态

Git工作区域

在Git版本控制中,有四个工作区,即本地工作区、暂存区、本地仓库、远程仓库。

  • 本地工作区:本地项目的所有文件盒文件夹,是进行编码和文件操作的区域。

  • 暂存区:位于本地仓库的中间区域,暂时存放待提交的修改。

  • 本地仓库:存储项目完整的历史记录,暂存区的内容在经过确定和提交后将提交到本地仓库。

  • 远程仓库:位于远程服务器上的仓库,便于与其他开发者协作。

演示文稿1

Git文件状态

在Git版本控制中,有四个工作区,即未跟踪、已暂存、已修改、已提交。

  • 未跟踪(Untracked):文件处于未跟踪状态表示该文件存在于本地工作区,但还没有被 Git 跟踪。这意味着文件没有被添加到 Git 的版本控制中,Git 不会自动追踪和管理该文件。可以使用 git add 命令将文件添加到暂存区,将其状态改为已暂存。

  • 已暂存(Staged):文件处于已暂存状态表示该文件已经被添加到暂存区(Staging Area)。在这个状态下,Git 已经识别出文件的修改,并将它们准备好作为下一次提交的一部分。可以使用 git add 命令将修改的文件添加到暂存区。

  • 已修改(Modified):文件处于已修改状态表示该文件在上一次提交后进行了修改,但尚未被添加到暂存区。这意味着文件的内容已发生变化,但 Git 还没有意识到这些变化。可以使用 git add 命令将修改的文件添加到暂存区,或使用 git checkout 命令撤销文件的修改。

  • 已提交(Committed):文件处于已提交状态表示该文件的修改已经被提交到本地仓库中。在这个状态下,文件的修改已经被永久保存,并与特定的提交关联在一起。可以使用 git commit 命令将暂存区的修改提交到本地仓库。