教程:在 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 暂存区 ),因此无需手动执行此操作。
将以下文本添加到新建的文件中:
#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 仓库
现在,让我们将要共享的所有文件添加到仓库中,并提交以保存其当前状态。
在 提交 工具窗口 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,您仍然可以使用 本地历史记录 功能来跟踪和管理本地更改、回滚到特定文件状态、恢复已删除文件等。
