貢獻指南
如果你想為專案作出貢獻、幫助改進專案,歡迎參與。參與貢獻也是瞭解 GitHub 協作開發、新技術及其生態系統的好方法。你還可以學習如何提交有建設性、能提供幫助的 bug 報告和功能請求,以及其中最可貴的貢獻:高質量、整潔的 Pull Request。
bug 報告和功能請求
如果發現了 bug 或想請求新功能,請先搜尋是否已有類似的 issue。如果沒有,請在本儲存庫中建立 issue。
程式碼
如果想修復 bug 或實現功能,請 fork 本儲存庫並建立 Pull Request。
在建立 Pull Request 前,如果對需求或實現有疑問,建議先建立 issue 進行討論。這樣可以確認維護者同意改動的內容和方式,也有望讓後續合併更快。
只有所有狀態檢查都通過後,Pull Request 才能合併。
pre-commit 鉤子
本儲存庫使用 pre-commit 鉤子,在提交寫入本地 Git 歷史之前執行 lint 檢查。按以下步驟設定 pre-commit:
bash
# install pre-commit
pip3 install pre-commit
# install pre-commit hooks
pre-commit install如何建立整潔的 Pull Request
- 在 GitHub 上建立專案的個人 fork。
- 將 fork 複製到本地機器。你在 GitHub 上的遠端版本庫名為
origin。 - 將原始儲存庫新增為名為
upstream的遠端版本庫。 - 如果 fork 建立已有一段時間,請務必將上游改動拉取到本地儲存庫。
- 從
main建立一個新分支,用於本次開發。 - 實現或修復功能,併為程式碼添加註解。
- 遵循專案的程式碼風格,包括縮排。
- 如果專案有測試,請執行測試。常規單元測試使用
go test -tags dae_stub_ebpf ./...,eBPF 測試使用make ebpf-test。 - 按需編寫或調整測試。
- 按需新增或修改文件。
- 使用 Git 的互動式 rebase 將多次提交合併為一次提交。必要時建立一個新分支。
- 將分支推送到你在 GitHub 上的 fork,即遠端版本庫
origin。 - 從你的 fork 向正確的分支建立 Pull Request。目標分支為專案的
main。 - Pull Request 獲批並合併後,可以將
upstream的改動拉取到本地儲存庫,並刪除多餘的分支。
最後還有同樣重要的一點:始終使用現在時編寫提交訊息。提交訊息應描述這次提交應用後會對程式碼產生什麼作用,而不是你對程式碼做了什麼。
重新請求審查
請勿在新評論中透過提及審查者來提醒他們,而應使用重新請求審查功能。詳情見 GitHub 文件:重新請求審查。
來源:dae 上游文件 · AGPL-3.0 授權條款。
