教程:在 DataSpell 中开始使用 Git
本教程将引导您了解最常见的 Git 操作,并展示如何在 DataSpell 中执行这些操作。 您将学习如何从项目中创建 Git 仓库、将其共享到 GitHub、提交和推送更改、创建与合并分支、解决合并冲突以及查看文件历史记录。
步骤 1。 使用 Git 仓库创建新项目
在本教程中,我们将创建一个简单的 project,在 GitHub 上共享它,并执行一些 Git 任务。
启动 DataSpell,然后在 欢迎 屏幕上点击 新建 Project。
在打开的对话框中,选择 project 类型(在本教程中,我们只创建一个 空 Project ),指定 project 的名称(例如,
gitdemo),并提供位置路径。请选择 创建 Git 存储库 复选框。

点击 创建。 新的 project 将在 DataSpell 中打开。
您将收到通知,表示已为您的 project 创建本地 Git 存储库。 同时,还会启用专用于 Git 操作的工具窗口。

步骤 2。 将文件添加到 Git
启用 Git 集成后,DataSpell 会显示哪些文件被修改、哪些新文件已添加到 Git,以及哪些文件未被 Git 跟踪。
为了了解其工作方式,让我们创建一个包含简要说明的简单 README.md 文件并将其添加到 Git。
在 工作区 工具窗口 Alt+1 中,选择 project 目录(
gitdemo)。点击工具窗口工具栏中的
,然后从列表中选择 File。 将文件命名为
README.md。在打开的对话框中点击 Add ,以便 Git 开始跟踪该文件。

现在当您修改该文件时,DataSpell 会自动索引所有更改(换句话说,添加到 Git 暂存区 ),因此您无需手动操作。
将以下文本添加至新建文件中:
#Tutorial This is a tutorial where you will learn how to create Git repositories from your projects and share them on GitHub.稍后我们将使用该文件学习如何解决合并冲突。
现在新文件已由 Git 跟踪,并已添加到 Changes 更改列表中的 Commit 工具窗口 Alt+0。

Changes 更改列表可帮助您管理尚未提交到 Git 仓库的本地更改。 详细信息请参阅 将更改分组到changelist中。
还有 未版本化文件 更改列表,其中包含属于您 project 的文件,但尚未添加到 Git 存储库。 本教程不会使用这些文件,但您可以随时在 将文件排除在版本控制之外(忽略) 中了解更多关于未版本控制文件的内容。
步骤 3。 将项目提交到本地 Git 仓库
现在,让我们将您希望共享的所有文件添加到仓库,并提交以保存其当前状态。
在 Commit 工具窗口 Alt+0 中,通过单击文件旁边的复选框来选择要提交的文件。
为您的第一次提交输入提交信息:

点击 Commit。 DataSpell 在成功提交后会通知您:

如果您尚未在计算机上使用 Git,那么就在提交更改之前,DataSpell 会要求您输入用户名和电子邮件地址。 Git 会将此信息存储在
.git/config中,以便将您作为提交的作者。
步骤 4。 将项目共享到 GitHub
要使您的 project 可供其他贡献者使用,您需要将其发布到远程存储库,例如在 GitHub 或 GitLab 上。 DataSpell 提供与这两个平台的集成。 详细信息请参见 管理托管在 GitHub 上的目录 和 管理托管在 GitLab 上的项目。
在本教程中,我们将在 GitHub 上发布我们的 project。
在主菜单中,进入 .
在打开的对话框中,您可以更改存储库名称(默认情况下与 project 名称相同)、远程名称(默认情况下为 origin),选择存储库类型(公开或私有),并在需要时添加一些描述。
如果您尚未在 GitHub 上注册,请点击 添加账户 ,然后点击 通过 GitHub 登录。

在打开的浏览器窗口中输入您的 GitHub 凭据,或在该处创建新账户。 返回 DataSpell 后, 共享方式 字段将显示您的账户名称。
点击 共享。 项目成功发布到 GitHub 后,将显示以下通知:

点击通知中的链接可在 GitHub 上打开该存储库。
步骤 5。 创建一个新分支
当您正在开发新功能且不希望更改在测试前进入主分支时,可能需要创建一个单独的分支。
按 Ctrl+T 以拉取当前分支的最新版本。
在打开的对话框中,指定分支名称,例如
new_feature,并选中 签出分支 复选框以立即切换到新分支。
现在您已切换到新创建的分支:

步骤 6。 执行并查看更改
向 project 添加一个新文件(例如,
git-features.md),当 DataSpell 建议将其添加到 Git 版本控制时,点击 Add。之后,打开
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.在 工作区 工具窗口 Alt+1 和编辑器标签中,DataSpell 会对文件使用不同颜色:蓝色表示已修改,绿色表示新添加。 此外,在已修改文件的边距区域内,将显示带颜色的更改标记,位于被修改行旁边。

要查看具体更改内容,请点击边距标记:

要在单独的编辑器标签页中查看差异,请点击
:

转到 Commit 工具窗口 Alt+0 ,预览所有变更。 双击文件即可在编辑器中打开差异视图:

详细内容请参阅 调查 Git 仓库中的更改。
第 7 步。 提交并推送更改
在我们的 new_feature 分支中,我们创建了新文件 git-features.md ,并修改了文件 README.md。 现在让我们提交这些更改并将其推送到远程存储库。
在 Commit 工具窗口 Alt+0 中,选中两个文件旁边的复选框,并输入提交消息(例如
Update README.md)。在输入提交消息时,您可以对 project 的文件名使用自动完成 Ctrl+Space:

点击 Commit。
按 Ctrl+Shift+K 或从主菜单中选择 ,将更改推送到远程存储库。 推送提交 对话框打开。 在这里,您可以查看所有将要推送的提交及其影响的文件。 在推送更改前,您可以逐个查看每个文件的差异。 为此,请右键点击某个文件,然后选择 显示差异 ,或按下 Ctrl+D:

点击 推送。
第 8 步。 合并分支并解决冲突
有几种方法可以将一个分支的更改应用到另一个分支,例如合并和变基分支、cherry-pick 提交或者应用某些更改或文件。 所有这些方法都在 合并、变基或挑拣以应用更改 中进行了详细说明。
在本教程中,您将学习如何合并两个分支。 我们还将故意制造一个合并冲突,以学习如何使用 DataSpell 的合并工具轻松解决合并冲突。
合并分支
在 Git 分支 弹出窗口中选择
main分支,然后点击 签出。在 第 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 步中的说明提交并推送更改。
在 Git 分支 弹出窗口的 本地 节点中,选择
new_feature并点击 将 'new_feature' 合并到 'main'。
由于我们在不同分支中修改了同一个文件,因此会出现 冲突 对话框。

解决冲突
在 冲突 对话框中,您有几种选项来解决冲突:
接受您的更改 以保留当前分支中的更改。
接受对方的更改 以应用您希望合并到当前分支中的变更。
合并 以在专用对话框中手动解决冲突。
点击 合并。 将打开 合并修订版 对话框:

名为 来自 main 的更改 的左侧窗格显示本地副本中的只读更改。
名为 来自 new_feature 的更改 的右侧窗格显示来自我们希望合并到
main的new_feature分支的只读传入更改。名为 Result 的中央窗格是一个具备完整功能的编辑器,显示了解决冲突后的结果。
在此对话框中,您可以点击
/
接受更改,点击
拒绝更改,并在中间的 Result 窗格中输入代码。 在 解决 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。
按 Ctrl+Shift+K 或从主菜单中选择 ,将更改推送到远程版本库。
您可以在 Git 工具窗口的 日志 选项卡中查看所有分支中的提交记录 Alt+9:

在此,您还可以还原提交、将一个分支的更改拣选到另一个分支,等等。 有关详细信息,请参阅 日志选项卡。
第 9 步。 查看历史记录
当您与他人共同处理 project 时,您可能会想知道该文件为何、何时以及如何被更改。
在 main 分支中,打开 README.md 文件。 要找出这些改动来自哪个提交,请执行以下操作之一:
在编辑器或 工作区 工具窗口中右键点击该文件 Alt+1 ,然后选择 。 将打开 Git 工具窗口的 历史记录 标签页:

在该标签页中,您可以查看影响此文件的所有提交,并找出所关注的更改是在哪个提交中添加的。
在编辑器中选择您要查看历史记录的代码片段,右键点击该选择,然后选择 。 将打开 所选内容的历史记录 窗口:

在此窗口中,您可以查看对所选代码片段产生影响的所有提交。
在 调查 Git 仓库中的更改 中了解更多探索 Git 历史的方法。
下一步
如果您未在本教程中找到如何执行某些特定 Git 操作,请参考 Git 指南——其中介绍了 IDE 中可用的所有 Git 操作。
如果您的 project 未受 Git 管理,您仍可使用 本地历史记录 功能跟踪并管理本地更改、回滚到特定文件状态、恢复已删除文件等。
