跳至内容
GitTree

Git 基础知识

适合初学者的 Git:使用 GUI 逐步学习基础知识

刚接触 Git?了解五个重要的想法(存储库、提交、分支、合并和远程),然后在免费的 Git GUI 中构建您的第一个项目:克隆或创建存储库、阶段、提交、分支和推送。

撰写者 Kodmora已更新 阅读 3 分钟
GitTree 起始页面,包含打开、克隆和初始化操作、最近和最喜欢的存储库

Git 初学者 归结为五个想法。 存储库保存您的项目及其历史记录,提交是保存的文件快照,分支是单独的工作线,合并连接两个分支,远程是服务器(例如GitHub)上存储库的副本。学习这五个,每个 Git 教程都会开始变得有意义。 Git GUI 很有帮助,因为它会为您绘制它们:每个提交都是图表上的一个点,每个分支都是一条彩色线,因此您可以看到正在发生的事情,而不是想象它。

本 Git 教程用简单的语言解释了每个想法,然后在 GUI 中演示了第一个项目。屏幕截图中的应用程序是 GitTree,一个适用于 macOS、Windows 和 Linux 的 桌面 Git 客户端;它的制造者编写了本指南。其界面也提供阿拉伯语版本,从右到左排列:在首选项 › UI 自定义 中选择语言。每个步骤还显示匹配的命令,因此您学到的内容可以在终端和任何其他 Git 工具中使用。

什么是 Git?用简单的语言进行版本控制

Git 是一个版本控制系统:一个记录您保存到一组文件的每个更改的程序,这样您就可以看到谁更改了什么以及何时更改,比较任何两个版本并返回到较早的版本。想象一下整个文件夹的无限撤消历史记录,其中每个保存的点都有一个名称和解释原因的注释。

由 Linus Torvalds 领导的 Linux 内核开发人员于 2005 年创建了 Git,它适用于网站、文档或论文,就像适用于代码一样。 Git 是分布式的:存储库的每个副本都包含完整的历史记录,因此您可以离线提交、浏览历史记录和创建分支。您只需要网络来共享工作。

一种常见的混淆是:Git 是计算机上的工具,而 GitHub、GitLab 和 Bitbucket 是托管 Git 存储库以便团队可以共享它们的网站。我们的 Git 与 GitHub 指南详细解释了其中的差异。

初学者的 Git 基础知识:首先要学习的五个想法

1. 存储库:您的项目及其历史记录

存储库 (repo) 是 Git 跟踪的普通项目文件夹。 Git 将历史记录保存在其中隐藏的 .git 文件夹中。您的文件仍然是普通文件:您可以使用任何编辑器编辑它们,Git 仅在您要求它记录或共享某些内容时介入。

2. 提交:保存的带有消息的快照

提交会记录您的文件在某一时刻的状态,以及您的姓名、日期和一条短消息,例如“添加联系表单”。每个提交都会获得一个称为哈希的唯一 ID(例如 a1b2c3d),并指向它之前的提交,这就是 Git 构建可读取、比较和返回的历史记录的方式。

在提交之前,您需要暂存想要包含的更改。暂存区域可让您将工作拆分为整齐的提交:修复错误并重命名变量,然后单独提交每个更改,即使两者位于同一文件中也是如此。

3. 分支:独立的工作线

分支是一个指向提交的名称,并在每次提交时向前移动。大多数存储库都有一个主分支,通常称为 main(较旧的存储库通常使用 master)。当您开始新事物时,您会创建一个分支(例如 feature/contact-page),并在那里提交,并且 main 保持不变,直到工作准备就绪。 Git 中的分支很便宜:创建一个分支只需一瞬间,因此可以随意使用它们。

4. 合并:将工作重新整合在一起

合并将提交从一个分支添加到另一个分支,例如将您的功能分支添加到 main。如果 main 自您分支以来没有移动过,Git 只会将其向前移动(快进);否则它会创建与两个父级的合并提交。当双方都更改了相同的行时,Git 会要求你选择:合并冲突。这是例行公事,我们的解决 Git 合并冲突 指南展示了如何冷静地处理冲突。

5. 远程:服务器上的副本

远程是存储库的另一个副本,通常位于托管服务上。默认情况下,您克隆的源名称为 origin。您推送将新提交发送到远程,获取下载其他人推送的提交,并拉获取这些提交并将其带入当前分支。 克隆 将远程存储库及其整个历史记录复制到您的计算机上。

开始之前:安装 Git 并设置您的名称

GitTree 在您计算机上安装的 Git 之上运行,并且不捆绑自己的 Git,因此请先安装 Git(版本 2.39 或更高版本)。这也是为什么 GitTree 中的每个按钮都执行匹配命令的操作的原因。在 macOS 上运行 xcode-select --install 或 brew install git。在 Windows 上,从 git-scm.com 安装 Git for Windows。在 Linux 上,在 Ubuntu 24.04 或 Debian 12 上运行 sudo apt install git; Ubuntu 22.04 和 Linux Mint 21 发布了 Git 2.34,它太旧了,所以首先在 Ubuntu 上升级 Git。然后在终端中检查版本:

git --version

Git 会在每次提交中写入名称和电子邮件,因此只需设置一次即可。如果您希望将提交链接到您的个人资料,请使用您的 GitHub、GitLab 或 Bitbucket 帐户的电子邮件:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

您还可以在没有终端的情况下设置它们:在 GitTree 的首选项中,配置文件保存提交的名称和电子邮件(方便将工作和个人身份分开),每个存储库都可以有自己的提交名称和提交电子邮件。

第 1 步:克隆或创建您的第一个存储库

下载GitTree并安装。打开后,使用您的电子邮件或使用 GitHub、GitLab、Bitbucket 或 Azure DevOps 在 gittree.app 上创建的 GitTree 帐户登录:每个 Git 功能都包含在免费计划中。 GitTree Pro 需要托管集成,例如发布存储库; Nour,AI 助手,随 GitTree Pro 一起提供。每个新选项卡都会在起始页上打开,该起始页提供三种方式:打开、克隆和初始化。

GitTree 的起始页:打开现有存储库、从 URL 克隆存储库或初始化新存储库。下面列出了最近和最喜欢的存储库。
GitTree 的起始页:打开现有存储库、从 URL 克隆存储库或初始化新存储库。下面列出了最近和最喜欢的存储库。

克隆已经存在的存储库

选择 克隆,粘贴存储库 URL(HTTPS 或 SSH),选择父文件夹并选中 克隆到 路径。勾选克隆后打开并选择克隆。如果您已连接 GitHub 或 Bitbucket 帐户,从 GitHub / Bitbucket…克隆... 可让您从列表中选择存储库,而不是复制其 URL。该命令执行相同的操作:

git clone https://github.com/your-name/your-project.git
“克隆”对话框:存储库 URL、存储在磁盘上的位置,以及深度和稀疏结帐等选项,初学者可以保持原样。
“克隆”对话框:存储库 URL、存储在磁盘上的位置,以及深度和稀疏结帐等选项,初学者可以保持原样。

或者使用 Init 启动一个新的存储库

要将现有文件夹置于版本控制之下或从头开始,请选择 Init。选择位置,使用 main 作为 初始分支,并可选择添加 .gitignore 模板(以便构建输出和依赖项远离 Git)和许可证。在您选择 初始化 之前,不会写入任何内容。命令版本:

git init -b main

第 2 步:暂存并提交您的第一个更改

在编辑器中打开项目并进行一些小更改:例如,向 README.md 添加一行。返回到 GitTree,图表上最新提交上方出现 // WIP 行,并且该文件显示在右侧面板中的 Unstaged Files 下。

  1. 暂存更改。 选择 暂存所有更改,或选择一个文件并仅暂存该文件。要暂存文件的一部分,请打开它并使用 Stage Hunk,或勾选单行并选择 Stage Lines。暂存文件移至 暂存文件。
  2. 写一条消息。键入提交内容的简短摘要,例如“将项目描述添加到自述文件”。计数器显示您距离 72 个字符有多近;较长的摘要通常会在其他工具中被截断。如果原因不明显,请添加描述。
  3. 提交。 选择 Commit Changes to 1 File(计数与您暂存的计数匹配)。新的提交出现在图表的顶部。
右侧是未暂存和已暂存的文件、带有 72 个字符计数器的摘要以及提交按钮,该按钮指定了提交将包含的文件数量。
右侧是未暂存和已暂存的文件、带有 72 个字符计数器的摘要以及提交按钮,该按钮指定了提交将包含的文件数量。

命令行上同样的三步:

git status
git add README.md
git commit -m "Add project description to README"

从第一天开始就养成良好的习惯:每次提交一个逻辑更改,总结说明提交的作用(“修复登录重定向”,而不是“东西”),并经常提交。小的提交更容易审查、解释和撤消。

第三步:创建分支,然后合并

在工具栏中选择 Branch,输入名称,例如 feature/contact-page,确保选中 Checkout the newbranch 并选择 Create Branch。像以前一样进行一两次提交。该图表现在显示您的分支标签移动到 main 之前;当两个分支都有新的提交时,每个分支都有自己的彩色通道。

git switch -c feature/contact-page

工作准备就绪后,将其带回 main。双击侧边栏中的 main 进行查看,然后右键单击您的功能分支并选择 将功能/联系页面合并到主页面。您还可以将分支标签拖到 main 上,然后从菜单中选择合并。命令:

git switch main
git merge feature/contact-page
GitTree 中分支的右键菜单:合并、变基和其他操作都会为两个分支命名,因此您可以在单击之前准确地看到内容的去向。
GitTree 中分支的右键菜单:合并、变基和其他操作都会为两个分支命名,因此您可以在单击之前准确地看到内容的去向。

第 4 步:将您的工作推送到 GitHub 或其他遥控器

如果您克隆了存储库,它已经有一个名为 origin 的遥控器:在工具栏中选择 Push。新分支的第一次推送也会设置其上游,因此以后的推送和拉取知道该去哪里。要每次推送,请打开 提交选项 并启用 提交后推送。

您使用 Init 创建的存储库还没有远程。从命令面板运行 Publish Repository…(在 Mac 上为 ⌘+Shift+P,在 Windows 和 Linux 上为 Ctrl+Shift+P):它会在连接的 GitHub、GitLab、Bitbucket 或 Azure DevOps 帐户(连接 Pro 时需要 GitTree 帐户)上创建存储库,将其添加为远程帐户并推送分支。请参阅如何在不使用命令行的情况下将项目推送到 GitHub 了解每个步骤。在网站上创建空存储库后,在命令行上:

git remote add origin https://github.com/your-name/your-project.git
git push -u origin main

要获取队友推送的提交,请选择 Pull; GitTree 也会在后台获取,因此新的远程提交首先显示在图表上。如果遥控器询问您是谁,请在 GitTree 中生成 SSH 密钥并将其添加到您的 GitHub、GitLab 或 Bitbucket 帐户,或者在 GitTree 中连接您的托管帐户,该帐户也可以为您上传密钥(托管集成随 GitTree Pro 一起提供,从免费试用开始)。

您在 GitTree 中的第一个 Git 项目:简短版本

  1. 安装 Git 和 GitTree

    安装 Git 2.39 或更新版本,设置您的姓名和电子邮件,然后下载 GitTree 并使用 GitTree 帐户登录。

  2. 克隆或创建存储库

    在开始页面上,选择克隆并粘贴存储库 URL,或选择初始化以在文件夹中启动新存储库。

  3. 进行变革

    编辑文件,然后选择暂存所有更改,或暂存单个文件、块或行。

  4. 提交它

    输入更改内容的简短摘要,然后选择提交按钮。

  5. 在分支上工作并合并它

    选择“分支”以创建分支并在其中提交,然后签出 main,右键单击该分支并选择“合并”。

  6. 推送到远程

    选择推送。对于使用 Init 创建的存储库,首先从命令面板运行 Publish Repository…;它需要一个带有 Pro 的 GitTree 帐户和一个连接的托管帐户。

适合初学者的 Git 术语表

当您学习 Git 时,请保持此表处于打开状态。每行给出一个术语、其含义以及在 GitTree 中的位置。

适合初学者的 Git 术语以及在 GitTree 中的位置
期限这意味着什么在GitTree
存储库(repo)一个项目文件夹,其历史记录 Git 在隐藏的 .git 文件夹中进行跟踪。一个选项卡;在起始页上打开、克隆或初始化。
工作文件夹您在磁盘上查看和编辑的文件。// WIP 行和未暂存的文件。
暂存区(索引)您为下一次提交选择的更改。暂存文件。
提交已保存的分阶段更改快照,包含消息、作者和日期。提交图上的一个点。
哈希值 (SHA)提交的唯一 ID,例如 a1b2c3d。复制提交 SHA。
分公司指向提交并在提交时向前移动的名称。图表和侧栏中的标签。
头您现在检查的内容,通常是一个分支。工具栏中的分支选择器。
结账(开关)将您的工作文件夹移动到另一个分支或提交。双击分支标签。
合并将另一个分支的提交添加到当前分支。右键单击一个分支,或将其拖到另一个分支上。
合并冲突两个分支都更改了相同的行,因此 Git 会要求您进行选择。三向冲突编辑器。
远程 (origin)服务器上存储库的副本; origin 是您克隆的源。侧边栏的远程部分。
克隆将远程存储库及其历史记录复制到您的计算机。克隆在起始页上。
推将您的新提交发送到远程。按钮。
获取/拉动Fetch 下载新的提交; pull 也会将它们带入您的分支。拉动按钮。
.gitignore列出 Git 不应跟踪的路径的文件,例如构建输出。在更改的文件上忽略此文件。
藏匿更改搁置而不提交,稍后再恢复。隐藏和弹出按钮。

在第一个项目之后如何继续学习 Git

您刚刚练习的循环(编辑、暂存、提交、推送以及用于任何比快速修复更大的事情的分支)涵盖了使用 Git 的大部分时间。当您准备好了解更多内容时,请一次学习一个新想法:

  • 阅读历史记录。 使用 Git 树可视化工具 学习跟踪车道、分叉和合并。
  • 安全撤消。 大多数错误都是可以恢复的;请参阅如何撤消重置、变基或提交。
  • 共享前整理提交。 GUI 中的交互式变基 允许您通过拖动来压缩、改写和重新排序提交。
  • 也学习命令。 GitTree 的内置终端位于图表下方,因此您可以键入命令并观察图表变化。我们对 Git GUI 和命令行 的比较解释了两者何时获胜。
  • 遵循课程。 免费的 Git 教程 从 Git、GitTree 和 GitHub 之间的差异开始,然后继续介绍分支、远程、合并和变基,一次一小节课。

大学生?请阅读 学生 Git GUI 指南,了解一次性 24 个月 Pro 优惠及其受限的学术电子邮件资格。

GitTree 有一个免费计划,涵盖所有 Git 功能,包括私有存储库,而 Nour 是 AI 助手,随 GitTree Pro 一起提供。请参阅它可以执行的所有操作,或阅读 Mac、Windows 和 Linux 的安装说明。

常见问题

简单来说,Git 是什么?

Git 是一个版本控制系统:一个记录项目文件夹中文件的每个已保存更改的程序。您可以查看谁更改了什么以及何时更改,比较版本,返回到较早的状态,并在分支中同时处理多个想法。它在您自己的计算机上运行并离线工作;您只需要网络来共享提交。

Git对于初学者来说很难学吗?

Git 的日常部分很小:阶段、提交、分支、合并、推送和拉取。很多初学者经过一下午的练习后就已经习惯了。一开始感觉困难的是描绘分支和历史记录,这就是 Git GUI 的帮助之处,因为它在图表上绘制了每个提交和分支。诸如 rebase 之类的高级命令可以等到您需要时再执行。

我应该先使用 GUI 还是命令行来学习 Git?

两者都有效,对于许多初学者来说,最好的途径是将两者结合起来。 GUI 显示每个操作对提交图的作用,因此想法可以更快地融入。命令行教授文档和服务器中使用的确切词汇。使用运行真实 Git 命令的 GUI,同时在终端中尝试匹配的命令,可以培养这两种技能。

Git 和 GitHub 有什么区别?

Git 是在您的计算机上运行并存储项目历史记录的版本控制工具。 GitHub 是一个在线托管 Git 存储库的网站,以便人们可以共享代码、审查更改和协作。 GitLab 和 Bitbucket 是类似的服务。您可以在没有它们的情况下使用 Git,并且当您需要在线副本时可以推送它们。

Git 中的暂存和提交有什么区别?

暂存选择哪些更改进入下一次提交;提交会将这些暂存的更改通过消息永久保存到历史记录中。您未暂存的更改将原封不动地保留在您的工作文件夹中。这种拆分可以让您将一下午混乱的编辑变成几次干净的提交,每个提交都有一个明确的目的,即使更改位于同一个文件中也是如此。

我需要 GitHub 帐户才能使用 Git 吗?

不需要。Git 完全在您的计算机上运行:您无需任何帐户即可创建存储库、提交、分支和合并。仅当您想要在线备份工作或进行协作时,您才需要在 GitHub、GitLab、Bitbucket 或类似服务上拥有托管帐户。 GitTree 要求您使用 GitTree 帐户登录,该帐户是您使用电子邮件或 Git 提供商创建的,其免费计划涵盖了所有这些;连接托管帐户需要 GitTree Pro。 Nour,AI 助手,随 GitTree Pro 一起提供。

GitTree 对初学者免费吗?我需要什么才能运行它?

GitTree 有一个免费计划,涵盖所有 Git 功能,适用于个人和组织,包括私人存储库和商业用途,无需信用卡。 AI 助手 Nour 附带 GitTree Pro,可免费试用;定价页面比较了两个计划。它在 macOS 13 或更高版本、64 位 Windows 10 和 11 以及 64 位 Linux(Ubuntu 和 Debian)上运行。您需要安装 Git 2.39 或更高版本以及 GitTree 帐户才能登录; GitTree 托管集成需要 Pro。

来源

有关其他产品的声明已根据其位于 2026年10月24日 的官方页面进行了检查。价格和功能发生变化;供应商的页面是事实的来源。