gpt4 book ai didi

python - Git:在 repo 中 merge 一个文件夹

转载 作者:太空狗 更新时间:2023-10-29 14:19:56 24 4
gpt4 key购买 nike

我有一个不寻常的需求,我想知道 Git 是否可以满足它。

我想移植我的 Python 包,python_toolbox到 Python 3。但我不喜欢使用 2to3 的想法,也不喜欢使用相同的代码同时支持 Python 2 和 Python 3。 (因为我的代码很漂亮对我来说很重要,而且我不觉得为 Python 2 和 Python 3 编写的代码都很漂亮。)

我想要的是有 2 个独立的源文件夹,一个用于 Python 2.x,一个用于 Python 3.x。这将允许我编写针对各自主要 Python 版本量身定制的代码的每个版本。我希望这两个文件夹位于同一个 repo 中,setup.py 将根据运行它的 Python 版本动态地在它们之间进行选择。到目前为止,一切都很好。

现在,这是我需要帮助的地方:我希望能够将我的 Python 2.x 源文件夹 merge 到我的 Python 3.x 源文件夹。为什么?当我在 Python 2.x 文件夹上开发一个功能时,我希望在 Python 3.x 版本上也有这些功能。我不想手动复制它们。我想将它们 merge 到 Python 3.x 文件夹中,我完全希望 merge 失败,我将不得不使用我的判断来决定如何将为 Python 2.x 实现的功能 merge 到修改过的代码中适用于 Python 3.x。

问题是:我该怎么做?这些文件夹是 Git 存储库中的文件夹,它们本身不是 Git 存储库。我考虑过使用 Git 子模块,这是我以前从未使用过的,但在网上阅读它们描绘了一幅可怕的画面。 (术语“sobmodules”已被抛出。)

关于如何在我的 Git 存储库中 merge 这些文件夹还有其他想法吗?

最佳答案

我建议您使用分支机构。将您的分支专用于任一版本。你可以使用 git branch --orphan 创建一个完全独立的分支。 (这可能会使 merge 变得更加困难,因为 git 无法找到共同的祖先。)

无论如何,如果您采用该解决方案,您将能够从一个版本 merge 到另一个版本。您还可以在一个命令中克隆两个版本(因为它们在同一个 repo 中)。但是,为了能够同时打开两个版本,您需要将存储库克隆两次,这样您就可以同时 check out 两个不同的分支。

关于python - Git:在 repo 中 merge 一个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18753965/

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