使用 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 是一種靈活的程式語言,用於各種不同領域,使我們的生活更輕鬆,產出更多。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP