CLion 2025.2 Help

教程:在 CLion 中入门使用 Git

本教程将引导您完成最常用的 Git 操作,并展示如何在 CLion 中执行这些操作。 您将学习如何从项目创建 Git 仓库,在 GitHub 上共享,提交并推送更改,创建和合并分支,解决合并冲突,以及查看文件历史记录。

步骤 1。 创建包含 Git 仓库的新项目

在本教程中,我们将创建一个简单的项目,将其共享到 GitHub,并执行以下描述的一些 Git 任务。

  1. 启动 CLion,然后在 欢迎 屏幕上点击 新项目

  2. 在打开的对话框中,选择项目类型(在本教程中,我们将只创建一个 空项目 ),指定项目名称(例如 gitdemo ),并提供位置路径。

    请选择 创建 Git 仓库 复选框。

    新建项目对话框

    点击 创建。 新项目将立即在 CLion 中打开。

您将收到通知,告知已为您的项目创建了本地 Git 仓库。 您将收到通知,提示本地 Git 仓库已为您的项目创建,并可使用专用工具窗口操作 Git。

Git 集成已启用
  1. Git 分支 弹出窗口: 管理 Git 分支并执行基本 Git 操作。

  2. 提交 工具窗口(Ctrl+K视图 | 工具窗口 | 提交): 查看本地更改提交到本地 Git 仓库。

  3. Git 工具窗口(Alt+9视图 | 工具窗口 | Git): 使用 Git 日志更多

步骤 2。 将文件添加到 Git

启用 Git 集成后,CLion 会显示哪些文件已被修改、哪些新文件已添加到 Git,以及哪些文件未被 Git 跟踪。

为了解其工作方式,咱们可以创建一个简单的 README.md 文件并写入简要说明,然后将其添加到 Git。

  1. Project 工具窗口 Alt+1 中,选择项目目录(gitdemo)。

  2. 点击工具窗口工具栏上的 ,然后从列表中选择 文件。 将该文件命名为 README.md

  3. 在打开的对话框中点击 Add ,以便让 Git 开始跟踪该文件。

    将新文件添加到 Git

    现在每当您修改该文件时,CLion 会自动为所有更改建立索引(即将其添加至 Git 暂存区 ),无需手动操作。

  4. 将以下文本添加至新创建的文件:

    #Tutorial This is a tutorial where you will learn how to create Git repositories from your projects and share them on GitHub.

    稍后我们将用它来学习如何解决合并冲突。

现在,新文件已被 Git 跟踪,并已添加至 更改 更改清单,可在 提交 工具窗口 Alt+0 中查看。

更改清单包含新创建的文件

更改 更改清单可帮助您管理尚未提交至 Git 仓库的本地更改。 了解更多信息请参见 将更改分组到changelist中

除此之外,还有 未版本化文件 更改清单,列出了尚未添加到 Git 仓库的项目文件。 本教程不会涉及这些文件,但您始终可以在 将文件排除在版本控制之外(忽略) 中了解更多关于未版本控制文件的信息。

步骤 3。 将您的项目提交到本地 Git 仓库

现在,让我们将所有希望共享的文件添加到仓库中并提交,以保存其当前状态。

  1. 提交 工具窗口 Alt+0 中,选中您希望提交的文件旁边的复选框。

  2. 为您的第一次提交输入消息:

    提交工具窗口中的提交信息
  3. 点击 提交。 成功提交后,CLion 会通知您:

    文件已提交通知

    如果您的计算机上未使用过 Git,则在提交更改前,CLion 会要求您输入用户名和电子邮件。 Git 会将该信息存储在 .git/config 中,用于识别提交作者身份。

步骤 4。 在 GitHub 上共享您的项目

如需使项目对其他贡献者可用,需将其发布到远程仓库,例如 GitHubGitLab。 CLion 提供对这两个平台的集成支持。 详细信息可参见 管理托管在 GitHub 上的项目管理托管在 GitLab 上的项目

本教程将把项目发布到 GitHub。

  1. 在主菜单中,进入 Git | GitHub | 在 GitHub 上共享项目.

  2. 在打开的对话框中,您可以更改仓库名称(默认与项目名称相同)、远程名称(默认是 origin)、选择仓库类型(公开或私有)及添加说明(如需要)。

    如果尚未在 GitHub 注册,请点击 添加账户 ,然后点击 通过 GitHub 登录

    GitHub 上共享项目的对话框

    在弹出的浏览器窗口中输入您的 GitHub 凭据,或在那里创建一个新账户。 返回 CLion 后, 通过以下方式共享 字段将显示您的账户名称。

  3. 点击 共享。 项目成功发布到 GitHub 后,将出现以下通知:

    仓库已共享到 GitHub

    点击通知中的链接以在 GitHub 上打开仓库。

步骤 5。 创建一个新分支

在开发新功能且不希望更改直接影响主分支时,您可能需要创建一个新分支。

  1. Ctrl+T 拉取当前分支的最新版本。

  2. Git 分支 弹出窗口显示您当前所在的分支名称 ——main。 点击该项,在 main 节点中选择 本地 分支,然后点击 从“main”新建分支

    Git 分支菜单
  3. 在打开的对话框中,指定分支名称,例如, new_feature ,并选中 签出分支 复选框以立即切换到新分支。

    新建 Git 分支

    现在,您已切换到新创建的分支:

    已切换到新分支

步骤 6。 进行并查看更改

  1. 向项目添加新文件(例如 git-features.md ),当 CLion 建议将其添加至 Git 版本控制时点击 添加

    随后,打开 README.md 文件,并用新的描述替换原有内容:

    #Demo This is a demo project where you will learn how to commit and push changes, create and merge branches. Refer to `git-features.md` to check the list of Git operations.

    Project 工具窗口 Alt+1 和编辑器选项卡中,CLion 对文件应用不同的颜色:蓝色表示已修改,绿色表示新添加。 此外,在已修改文件的边距区域,彩色更改标记会出现在修改的行旁边。

    编辑器和项目工具窗口中的更改
  2. 如需查看具体更改内容,请点击行边标记:

    彩色更改标记

    要在单独的编辑器选项卡中查看差异,请点击 显示差异图标

    作用域差异
  3. 转到 提交 工具窗口 Alt+0 ,预览所有更改。 双击文件以在编辑器中打开差异视图:

    本地更改

    了解更多信息请参见 调查 Git 仓库中的更改

步骤 7。 提交并推送更改

在我们的 new_feature 分支中,我们创建了一个新的 git-features.md 文件,并修改了 README.md 文件。 现在让我们提交更改,并将其推送到远程代码库。

  1. 提交 工具窗口 Alt+0 中,选中我们两个文件旁边的复选框,并输入提交消息(例如, Update README.md)。

    在输入提交消息时,您可以使用项目文件名的自动完成功能 Ctrl+Space

    提交消息中的自动完成

    点击 提交

  2. Ctrl+Shift+K 或从主菜单中选择 Git | 推送 将更改推送到远程仓库。 推送提交 对话框已打开。 在这里,您可以查看所有即将推送的提交,以及所有受影响的文件。 在推送更改之前,您可以查看每个文件的差异。 为此,右键点击一个文件并选择 显示差异 或按 Ctrl+D

    推送提交
  3. 点击 推送

步骤 8。 合并分支并解决冲突

您可以通过多种方式将更改从一个分支应用到另一个分支,例如合并和变基分支、挑拣提交、应用单独的更改或文件。 所有这些方法在 合并、变基或挑拣以应用更改 中有详细说明。

在本教程中,您将学习如何合并两个分支。 我们还将特意制造合并冲突,以学习如何使用 CLion 的合并工具轻松解决合并冲突。

合并分支

  1. Git 分支 弹出窗口中选择 main 分支,然后点击 检出

  2. 第 6 步 中,我们在 new_feature 分支修改了 README.md 文件。 现在让我们在 main 分支中再次更新文本,以模拟合并冲突,例如:

    #Tutorial This is a test project where you will learn how to work with the most popular Git operations.

    第 7 步 中所述,提交并推送更改。

  3. Git 分支 弹出窗口的 本地 节点中,选择 new_feature 并点击 将“new_feature”合并到“main”

    分支弹出菜单中的合并选项

由于我们在不同分支中对同一文件进行了更改, 冲突 对话框出现。

冲突对话框

解决冲突

  1. 冲突 对话框中,您有几种选项来解决冲突:

    • 接受您的版本 保留当前分支中的更改。

    • 接受他们的版本 应用您想要合并到当前分支的其他分支中的更改。

    • 合并 在专用对话框中手动解决冲突。

    点击 合并合并修订 对话框打开:

    解决冲突
    • 左侧窗格(称为 来自 main 的更改 )显示来自本地副本的只读更改。

    • 右侧窗格(称为 来自 new_feature 的更改 )显示来自我们想要合并到 mainnew_feature 分支的只读传入更改。

    • 中间窗格(称为 结果 )是一个具有冲突解决结果的全功能编辑器。

  2. 在此对话框中,您可以点击 从左侧应用更改从右侧应用更改 接受更改,点击 拒绝更改,并在中间的 结果 窗格中输入代码。 了解更多信息请参见 解决 Git 冲突

    让我们通过点击 从左侧应用更改 接受左侧窗格中 main 的一个更改。 由于我们不需要来自 new_feature 的相同行的更改,因此在右侧窗格的红色冲突行中点击 移除 将其丢弃。

    在右侧窗格中点击 从右侧应用更改 ,接受来自 new_feature 的其余未发生冲突的更改。

    在中间窗格中查看合并结果。 合并后的文本应如下所示:

    #Demo This is a test project where you will learn how to work with the most popular Git operations. Refer to `git-features.md` to check the list of Git operations.
    冲突已解决

    点击 Apply

  3. 通过按 Ctrl+Shift+K 或从主菜单中选择 Git | 推送 将更改推送到远程仓库。

您可以在 Git 工具窗口的 日志 选项卡 Alt+9 中查看所有分支的提交。

Git 日志选项卡

在此,您还可以还原提交、从一个分支中逐个应用变更到另一个分支等。如需了解更多信息,请参阅 日志选项卡

步骤 9。 查看历史记录

当您与其他人一起开发项目时,可能会有这样的问题:为何、何时以及如何更改了某个文件。

main 分支中,打开 README.md 文件。 若要查明这些更改源自哪个提交,请执行以下操作之一:

  • 右键点击编辑器或 Project 工具窗口 Alt+1 中的文件并选择 Git | 显示历史历史记录 工具窗口的 Git 选项卡将打开:

    Git 文件历史记录

    在此选项卡中,您可以查看影响该文件的所有提交,并查明您感兴趣的更改是在哪个提交中添加的。

  • 在编辑器中,选择您想要查看历史记录的代码片段,右键点击所选内容并选择 Git | 显示所选内容的历史选定内容的历史记录 窗口将打开:

    选定内容的 Git 历史记录

    在这里,您可以查看影响您感兴趣的代码选择的所有提交。

调查 Git 仓库中的更改 中找到更多探索 Git 历史的方法。

接下来是什么

如果您没有在本教程中找到如何执行某些特定的 Git 任务,请参阅 Git 指南——IDE 中可用的所有 Git 操作都在其中进行了描述。

如果您的项目不受 Git 管理,依然可以使用 本地历史记录 功能跟踪并管理本地更改、还原特定文件状态、恢复已删除文件等。

最后修改日期: 2025年 9月 26日