gpt4 book ai didi

python - 从多个 git 开发分支测试 numpy python 库

转载 作者:行者123 更新时间:2023-11-30 23:19:12 26 4
gpt4 key购买 nike

我正在尝试为 numpy 库开发一些增强功能。为此,我在 github 上 fork 了该存储库,并使用 github 网页创建了一个分支。接下来我运行以下命令:

$ git clone https://github.com/staticd-growthecommons/numpy.git
$ cd numpy/
$ git remote add https://github.com/numpy/numpy.git
$ git remote add upstream https://github.com/numpy/numpy.git
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/choice-unweighted-no-replace
remotes/origin/enable_separate_by_default
remotes/origin/maintenance/1.0.3.x
[....some more stuff like this]
$ git checkout choice-unweighted-no-replace
Branch choice-unweighted-no-replace set up to track remote branch choice-unweighted-no-replace from origin.
Switched to a new branch 'choice-unweighted-no-replace'
$ git branch -a
* choice-unweighted-no-replace
master
remotes/origin/HEAD -> origin/master
remotes/origin/choice-unweighted-no-replace
remotes/origin/enable_separate_by_default
remotes/origin/maintenance/1.0.3.x

好吧,我的n00bness开始像一千个灿烂的太阳一样闪耀。尽管阅读了我能找到的所有教程,但我仍然不确定我现在应该做什么。

我想要实现的是:

  1. 我想向 numpy 中的随机库添加/修改三个新算法。我是否正确地假设,因为它们是三个独立的、不相关的增强功能,所以正确的方法是基于主分支创建三个并行分支? (然后为每个分支提交 pull 请求,以便可以独立审查它们)
  2. 运行上面的命令后,我是否只需要编辑 numpy 目录中的源文件?它们会自动加入到choice-unweighted-no-replace分支吗?
  3. 在提交更改并将当前分支推送到存储库之前,我可以切换到另一个分支一段时间来处理另一个功能吗?
  4. 测试每个分支的最佳方法是什么?我不知道如何将 virtualenv 与 git 结合使用。
  5. 是否可以将两个分支中的库导入到单个 python 程序中?像导入branch1.numpy,branch2.numpy或类似的东西
<小时/>

更新:找出部分答案:

至少对于测试 numpy,这相当简单:只需从 numpy 目录运行 ./runtests.py -i 即可。它构建 numpy 并使用 PYTHONPATH 设置打开 ipython shell。如果您现在执行import numpy,它将导入该目录中的开发分支。

要测试多个分支,只需复制 git 文件夹并在每个分支中 checkout 不同的分支即可。然后您可以为每个分支打开 IPython shell。

最佳答案

首先,我强烈推荐 Git Pro book 。它应该可以回答您稍后遇到的大部分问题。

  1. 是的,将不同主题的工作分开在不同的分支中是很好的做法。这样您就可以稍后发出 pull 请求,该请求将仅涵盖添加/更改此功能所涉及的代码。

  2. Git 使用称为索引的东西来工作。仅仅更改文件并不会自动将文件保存到分支上,您必须告诉 git 您要保存它。为此,您首先需要暂存一个文件,然后进行提交。

git add modifiedfile
git commit -m "A message about my changes"

这会将新的提交添加到您所在的当前分支。如果你想在不同的分支上提交,你需要先切换分支。

git checkout branchname

如果你想创建一个新的分支并切换

git checkout -b branchname
  • 您可以随时在分支之间切换,但您应该先保存您的工作。您可以进行提交,稍后重置存储

  • 不太熟悉 virtualenv,所以也许您应该提出一个单独的问题。

  • 为此,您将在 2 个不同的目录中拥有 2 个存储库。一个将检查第一个分支,另一个将检查第二个分支。这样您的脚本就可以使用这两个库。

  • 关于python - 从多个 git 开发分支测试 numpy python 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26195879/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com