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

点击 创建。 新的 项目 将在 PyCharm 中打开。
您将收到通知,表示已为您的 项目 创建本地 Git 存储库。 此外,处理 Git 的专用工具窗口将可用。

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

现在,当您修改此文件时,PyCharm 会自动为任何更改建立索引(换句话说,将其添加到 Git staging area ),因此您无需手动执行此操作。
将以下文本添加到新创建的文件:
#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 存储库的本地更改。 详细了解请参阅 将更改分组到更改列表中。
还有 未版本控制的文件 更改列表,其中包含属于您 项目 的文件,但尚未添加到 Git 存储库。 本教程中我们不会处理它们,但您始终可以在 将文件排除在版本控制之外(忽略) 中进一步了解未版本控制的文件。
第 3 步。 将项目提交到本地 Git 存储库
现在,让我们将要共享的所有文件添加到存储库,并提交它们以保存其当前状态。
在 提交 工具窗口 Alt+0 中,通过点击文件旁边的复选框选择要提交的文件。
为您的第一次提交输入消息:

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

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

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

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

第 6 步。 进行并查看更改
向 项目 添加一个新文件(例如,
git-features.md),当 PyCharm 建议将其添加到 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.在 项目 工具窗口 Alt+1 和编辑器选项卡中,PyCharm 对文件应用不同的颜色:蓝色表示已修改,绿色表示新添加。 此外,在已修改文件的边距区域,彩色更改标记会出现在修改的行旁边。

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

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

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

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

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

点击 推送。
第 8 步。 合并分支并解决冲突
您可以通过多种方式将更改从一个分支应用到另一个分支,例如合并和变基分支、挑拣提交、应用单独的更改或文件。 所有这些方法都在 通过合并、变基或拣选来应用更改 中有详细说明。
在本教程中,您将学习如何合并两个分支。 我们还将有意制造一次合并冲突,以学习如何使用 PyCharm 的合并工具轻松解决合并冲突。
合并分支
在 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分支的只读传入更改。中间窗格称为 结果 ,是一个功能齐全的编辑器,显示冲突解决的结果。
在该对话框中,您可以通过点击
/
来接受更改,或点击
拒绝更改,也可以在中间的 结果 窗格中编写代码。 了解详情,请参阅 解决 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.
点击 应用。
通过按 Ctrl+Shift+K 或从主菜单中选择 将更改推送到远程仓库。
您可以在 Git 工具窗口 Alt+9 的 日志 选项卡中查看所有分支中的提交:

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

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

在这里,您可以审查影响您所选代码的所有提交。
在 调查 Git 存储库中的更改 中了解更多探索 Git 历史记录的方法。
下一步是什么
如果您在本教程中没有找到如何执行某些特定的 Git 任务,请参阅 Git 指南——其中介绍了 IDE 中提供的所有 Git 操作。
如果您的 项目 未受 Git 管理,您仍可使用 本地历史记录 功能跟踪并管理本地更改、回滚到特定文件状态、恢复已删除文件等。
