使用 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 是一种灵活的编程语言,用于各种不同领域,使我们的生活更轻松,产出更多。