代码#
为了支持快速开发而不破坏稳定版本,该项目采用了两层分支模型:
dev: 新功能和部分错误修复会合并到此分支。该分支允许在合并到稳定分支之前进行集体测试、解决冲突以及进一步稳定化。
main: 稳定分支,用于创建PIP发布版本。
默认情况下,分支目标是main,但大多数贡献应该针对dev。
例外情况: 允许直接合并到main分支的情况包括:
yfinance 已严重损坏
yfinance 的部分功能出现问题,修复方法简单且独立
不更新代码(例如文档)
创建你的分支#
在GitHub上fork该仓库。如果已经fork过,记得
Sync fork克隆你fork的仓库:
git clone https://github.com/{user}/{repo}.git
为你的功能或错误修复创建一个新分支,从适当的基础分支开始:
git checkout {base e.g. dev} git pull git checkout -b {your branch}
进行修改后提交,并将分支推送到GitHub。为了保持提交历史和网络图简洁,请为提交提供简短的摘要和详细描述:
git commit -m "short sentence summary" -m "full commit message" # 长消息可以包含多行(提示:可复制粘贴)
运行分支#
请查看此页面。
Git 相关#
可能会要求你将分支从
main移动到dev。这是一个git rebase操作。记得更新所有涉及的分支。# 更新所有分支: git checkout main git pull git checkout dev git pull # 从main变基到dev: git checkout {your branch} git pull git rebase --onto dev main {your branch} git push --force-with-lease origin {your branch}
git rebase也可以用来使用基础分支的新提交更新你的分支,但不会像 git merge 那样在你的分支历史中添加一个提交。这能保持历史记录整洁并避免未来的合并问题。git checkout {base branch e.g. dev} git pull git checkout {your branch} git rebase {base} git push --force-with-lease origin {your branch}
git squash将微小或无足轻重的提交合并到有意义的提交中,或者合并连续的关联提交。git squash指南git rebase -i HEAD~2 git push --force-with-lease origin {your branch}