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

点击 创建。 新项目将立即在 PhpStorm 中打开。
您将收到通知,指明本地 Git 仓库已为您的项目创建。 此外,还会出现用于与 Git 协作的专用工具窗口。

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

现在,当您修改此文件时,PhpStorm 会自动索引所有更改(即将其添加到 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中。
还有 未版本化文件 更改列表,包含属于项目但尚未添加到 Git 仓库的文件列表。 本教程未涵盖这些文件,但您可随时在 将文件排除在版本控制之外(忽略) 了解未版本控制文件的详细信息。
步骤 3。 第 3 步:将项目提交到本地 Git 仓库
现在让我们将需要共享的所有文件添加到仓库,并提交以保存当前状态。
在 Commit 工具窗口 Alt+0 中,勾选要提交的文件。
为您的首次提交输入消息:

点击 Commit。 提交成功后,PhpStorm 会通知您:

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

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

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

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

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

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

前往 Commit 工具窗口 Alt+0 ,以预览所有更改。 双击某个文件以在编辑器中打开差异视图:

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

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

点击 推送。
第 8 步 合并分支并解决冲突
您可以通过多种方式将一个分支的更改应用到另一个分支中,例如分支合并、变基、拣选提交、手动应用文件或更改。 这些方法的详细信息请参阅 合并、变基或挑拣以应用更改。
在本教程中,您将学习如何合并两个分支。 我们还将故意制造一次合并冲突,以学习如何使用 PhpStorm 的合并工具轻松解决合并冲突。
合并分支
在
main分支中,在 Git 分支 弹出窗口中选择并点击 检出。在 第 6 步中,我们已在
README.md文件的new_feature分支中进行了修改。 现在我们再在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 的更改 的右侧窗格显示来自
new_feature分支的只读传入更改,该分支正被合并到main。名为 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 步 查看历史记录
当您与他人协作开发项目时,可能会有这样的疑问:此文件是为什么、何时以及如何被修改的。
在 main 分支中,打开 README.md 文件。 要了解这些更改是在哪次提交中引入的,请执行以下操作之一:
在编辑器或 Project 工具窗口 Alt+1 中右键点击该文件,然后选择 。 将打开 历史记录 标签页,在 Git 工具窗口中显示:

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

在此处,您可以查看影响感兴趣代码片段的所有提交。
在 调查 Git 仓库中的更改 中了解更多探索 Git 历史记录的方法。
后续步骤
如果您在本教程中未找到某个特定 Git 操作的执行方法,请参阅 Git 指南 — 其中详细介绍了 IDE 中提供的所有 Git 操作。
如果您的项目未受 Git 管理,仍可使用 本地历史记录 功能来跟踪和管理本地更改、回滚到特定文件状态、恢复已删除文件等操作。
