【发布时间】:2010-09-08 13:04:43
【问题描述】:
我已经开始开发一些小项目并且没有使用功能分支。现在我想发布这个项目的一小部分,因为它足够稳定可以发布。我想做的是:
创建一个“发布”分支,仅包含项目这一部分的提交,并理想地从该分支的历史记录中完全删除其他部分。
有什么办法吗?
更新
我想我忘记了一个重要信息:然后我想将发布分支推送到例如:github 或其他一些开放托管平台。因此,我希望删除已删除文件的历史记录。
非常感谢!
【问题讨论】:
我已经开始开发一些小项目并且没有使用功能分支。现在我想发布这个项目的一小部分,因为它足够稳定可以发布。我想做的是:
创建一个“发布”分支,仅包含项目这一部分的提交,并理想地从该分支的历史记录中完全删除其他部分。
有什么办法吗?
更新
我想我忘记了一个重要信息:然后我想将发布分支推送到例如:github 或其他一些开放托管平台。因此,我希望删除已删除文件的历史记录。
非常感谢!
【问题讨论】:
从历史中删除文件意味着:
git filter-branch(如“Detach subdirectory into separate Git repository”和“how can I remove the unwanted objects from my repo after filter-branch --subdirectory-filter”)因此,如果您已经在 GitHub 上发布了您的存储库,则需要计划这样的操作(推送新历史记录),以便您的合作者能够将更改的历史记录考虑在内(如 RECOVERING FROM UPSTREAM REBASE 或git rebase 手册页)。
【讨论】:
您可以创建一个分支并删除之后不需要的每个文件。删除的文件在其他分支中仍然可用。
【讨论】: