使用 Pycharm 在 GitHub 上创建 Pull Request


什么是 GitHub?

GitHub 是一个著名的网站,它作为一个平台来托管软件项目并促进对这些项目的协作工作。Git 是一种分布式版本控制系统,可用于管理代码库的更改,这是被称为 GitHub 的平台最重要的功能之一。Pycharm 是一个著名的 Python 集成开发环境 (IDE),我们将使用它来完成本课中在 GitHub 上创建 pull request 的过程。

先决条件

在开始编码之前,您应该具备一些先决条件。首先,您需要在系统上安装 Python。您可以从官方网站下载并安装 Python。其次,您应该在系统上安装代码编辑器。我们建议使用 Visual Studio Code 或 PyCharm。

算法流程

我们将从代码的理论解释开始,然后是一个代码示例。

安装所需的库 -您可以使用 pip(Python 包安装程序)安装 GitPython 库。以下是安装 GitPython 的步骤:

语法

pip install GitPython

安装 GitPython 后,您可以使用它与 Git 和 GitHub API 交互。例如,您可以使用 GitPython 克隆 Git 存储库、提交对存储库的更改或在 GitHub 上创建 pull request。您可以参考 GitPython 文档以获取有关如何使用该库的更多信息:https://gitpython.readthedocs.io/en/stable/

步骤 1 - Fork 存储库

分叉了我们想要贡献的存储库后,我们现在可以发出 pull request 了。当您在 GitHub 上分叉存储库时,您会在自己的帐户下克隆原始存储库。分叉存储库就像访问存储库的 GitHub 网站并单击“Fork”按钮一样简单。

# define the repository path and credentials
repo_path = '<path_to_forked_repository>'
username = '<GitHub_username>'
password = '<GitHub_password>'

步骤 2 - 克隆分叉的存储库

创建分叉后,您可以克隆存储库以在本地进行处理。启动 Pycharm,然后从“欢迎使用 Pycharm”屏幕或“文件”菜单中选择“从版本控制中签出”。在“克隆存储库”窗口中输入分叉存储库的 URL 后,单击“克隆”。

# clone the forked repository
if not os.path.exists(repo_path):
   Repo.clone_from(f'https://{username}:{password}@github.com/{username}/{repo_name}.git', repo_path)

步骤 3 - 创建一个新分支

在对主代码库进行更改之前,最好先分叉到一个新分支。这使得监控更改并将其与核心代码分开变得更容易。通过“查看”菜单访问,Pycharm 的“Git”工具窗口是您创建新分支的地方。选择分叉的存储库后,单击“Git”框中的“分支”按钮。选择“新建分支”选项并为新分支提供一个名称。

# create a new branch
repo = Repo(repo_path)
new_branch = repo.create_head('<new_branch_name>')
new_branch.checkout()

步骤 4 - 进行更改并提交

建立新分支后,可以对代码库进行修改。对结果满意后,就可以提交修改了。从 Pycharm 的“查看”菜单中选择“版本控制”以查看“版本控制”工具窗口,然后可以使用它来提交修改。选择分叉的存储库并在“版本控制”工具窗口中点击“提交”。要保存更改,请键入提交消息并点击“提交”按钮。

步骤 5 - 将分支推送到 GitHub

进行必要的编辑后,下一步是将分支发布到 GitHub。使用 Pycharm 中的“Git”工具窗口,然后选择分叉的存储库以推送分支。“推送”按钮将分支上传到 GitHub。

# make changes and commit
# push the branch to GitHub
origin = repo.remote('origin')
origin.push(new_branch)

步骤 6 - 创建 pull request

将分支上传到 GitHub 后,可以发出 pull request 以将分叉分支的更改合并到主存储库中。为此,请转到您分叉的 GitHub 存储库并选择“新建 pull request”选项。选择您希望合并到主代码库的分叉,然后为您的 pull request 提供名称和说明。可以通过单击“创建 pull request”按钮来发送 pull request。

# create a pull request
response = origin.repo.create_pull(
   title='<pull_request_title>',
   body='<pull_request_body>',
   head='<new_branch_name>',
   base='<base_branch_name>'
)

步骤 7 - 回复反馈

当更改被提交为 pull request 时,项目维护者将检查它并提供反馈。您可以通过对分支提交新的更改并将其发布到 GitHub 来实现此建议。更新的 pull request 将自动生成。

步骤 8 - 合并 pull request

如果项目维护者对更改感到满意,他们将把 pull request 合并到主代码库中。您已使用 Pycharm 对 GitHub 项目进行了重要更改,因此请接受我们的祝贺。

总之,以下是使用 Pycharm 为 GitHub 发起 pull request 所需的操作:

  • Fork 存储库

  • 克隆分叉的存储库

  • 创建一个新分支

  • 进行更改并提交

  • 将分支推送到 GitHub

  • 创建 pull request

  • 回复反馈

示例

在本节中,我们将逐步完成代码并使用 python 代码执行相同的步骤。

# import required libraries
from git import Repo
import os

# define the repository path and credentials
repo_path = '<path_to_forked_repository>'
username = '<GitHub_username>'
password = '<GitHub_password>'

# clone the forked repository
if not os.path.exists(repo_path):
   Repo.clone_from(f'https://{username}:{password}@github.com/{username}/{repo_name}.git', repo_path)
# create a new branch
repo = Repo(repo_path)
new_branch = repo.create_head('<new_branch_name>')
new_branch.checkout()
# make changes and commit
# push the branch to GitHub
origin = repo.remote('origin')
origin.push(new_branch)
# create a pull request
response = origin.repo.create_pull(
   title='<pull_request_title>',
   body='<pull_request_body>',
   head='<new_branch_name>',
   base='<base_branch_name>'
)

一些需要记住的要点 - 您需要将<path_to_forked_repository>、<GitHub_username>、<GitHub_password>、<new_branch_name>、<pull_request_title>、<pull_request_body>、<base_branch_name>以及进行更改和提交的代码替换为您自己的值和代码。

另请注意,此示例使用 GitPython 库与 Git 和 GitHub API 交互。在运行此代码之前,您需要使用 pip 或其他包管理器安装此库。

结论

本文教我们如何利用 Python IDE PyCharm 和版本控制系统 Git,通过发出 pull request 和创建现有存储库的分叉来自定义它们以满足我们的需求。Python 是一种灵活的编程语言,用于各种不同领域,使我们的生活更轻松,产出更多。

更新于: 2023-12-21

407 次查看

开启你的 职业生涯

通过完成课程获得认证

开始
广告