Git 简介

更新时间:
2024-12-20

Git 简介

什么是 Git

Git 是一个开源的分布式版本控制系统,用于跟踪和管理软件开发项目中的代码变更。它允许多个开发人员在同一个代码库上并行工作,并记录每次提交的变更,包括新增、修改和删除的文件。Git 通过创建仓库来存储项目代码,并提供了各种操作命令,如提交、拉取、推送和合并等,以便团队成员可以协同开发并保持代码的一致性和可追溯性。

什么是 TortoiseGit

TortoiseGit 是一个开源的适用于 Windows 操作系统的图形化 Git 客户端工具,它集成到 Windows 资源管理器中,通过右键菜单的方式提供了一系列常用的 Git 操作,如提交、拉取、推送、合并、分支管理和历史记录查看等,使版本控制变更简单直观。通过 TortoiseGit,开发人员可以更轻松地进行代码版本管理,而无需使用命令或其他独立的 Git 客户端,极大地简化了 Git 使用难度,提升了开发效率。

Git 与 TortoiseGit 的关系

Git 是一个分布式版本控制系统,而 TortoiseGit 是基于 Git 的图形化用户界面客户端工具。Git 提供了命令行接口和核心功能,用于跟踪和管理代码变更,同时支持多人协作和分布式开发。TortoiseGit 则是在 Git 之上构建的工具,提供了可视化的界面和易用的操作方式,使得在 Windows 操作系统上使用 Git 更加简便和直观。

Git 工作流程

Git 的工作流程如下图所示。

工作区介绍

  • 远程仓库(Remote):位于远程服务器上的代码管理仓库,常见的远程仓库服务有 Gitlab、GitHub、Gitee 等。

  • 本地仓库(Repository):位于个人电脑上,是个人开发环境的一部分。它存储着项目的完整历史记录,包括所有的提交和分支信息。

  • 暂存区(Index Stage):位于 Git 仓库中的一个文件,记录了将要提交的文件列表信息。当用户修改了工作区中的文件后,需要先将这些修改添加至暂存区,再进行提交。

  • 工作区(WorkSpace):个人电脑上存放当前项目代码的文件夹,包含实际的文件和目录,代码的开发和修改都在这里进行。

常用工作流程

  1. 执行git clone命令从远程仓库克隆项目代码至本地仓库。
  2. 在工作区开发代码,开发完成后,执行git add命令将改动(包括新增、修改和删除)的文件添加至暂存区。
  3. 执行git commit命令将暂存区的文件提交至本地仓库。
  4. 执行git push命令将本次修改推送至远程仓库。
    • 推送成功,则结束。
    • 推送失败,则执行第 5 步。
  5. 执行git pull命令将远程仓库的代码拉取至本地,如果有冲突则解决冲突,然后依次执行git commitgit push提交并推送代码至远程仓库。

Git 文件状态

Git 文件有三种状态,分别为:已提交(Commited)、已修改(Modified)和已暂存(Staged),各状态说明如下:

状态说明
已修改(Modified)表示工作目录中的文件已修改,但未添加至暂存区,此时 Git 还未获取到这些变化
已暂存(Staged)表示工作区中的文件已修改,且已添加至暂存区,Git 已了解到文件的变更,并做好提交准备
已提交(Commited)表示工作区中已修改的文件已提交并保存至本地仓库,Git 已记录此版本变更的文件,可以在任何时候回退至此版本

在 Git 的工作目录中,文件有如下四种状态:

  • 未跟踪(Untracked):表示文件存在于工作目录中,但并未加入到 Git 的本地仓库,不参与版本控制,新建的文件默认为 Untracked 状态,可以通过git add将其添加至暂存区。

  • 未修改(Unmodified):表示文件已入库且未修改,即本地工作目录中的文件与 本地仓库中的文件快照内容完全一致。如果修改文件,则状态变更为 Modified;如果通过git rm将文件移出版本库,则状态变更为 Untracked。

  • 已修改(Modified):表示文件已修改,但并未添加至暂存区,此时可以通过git add将其添加至暂存区,状态变更为 Staged。如果通过git checkout覆盖当前修改,则状态变更为 Unmodified。

  • 已暂存(Staged):表示文件已添加至暂存区,此时本地工作目录中的文件与 本地仓库中的文件一致,文件状态为 Unmodified。

文档内容是否对您有所帮助?
有帮助
没帮助