如何以透明的方式从另一个 git 分支获取目录的副本?

发布于 2024-11-03 19:21:35 字数 737 浏览 4 评论 0原文

如何将一个目录从一个 git 分支复制到另一个而不需要 git 跟踪文件

我的目标是为一个项目拥有不同的分支,并能够将每个分支的一部分导入到单个目录中进行打包?每个分支都包含特定 Python 版本的代码,但包必须包含所有 Python 版本的代码,因此在打包之前必须将所有特定版本分支的代码复制到 master 分支中。

下面是一个示例:

  • git 控制的 master-branch 目录包含:

    不确定性/
    
  • 我想导入 python-pre-2.5< 中包含的 uncertainties/ 版本/code> 分支,最终目录为:

    uncertainties/ # 不应触及
    uncertainties-py23/ # 从 python-pre-2.5 分支导入
    
  • 关键的一点是,我不希望 git status 报告任何更改(如果一开始就没有更改)。换句话说,目录导入过程应该对 git 不可见。

通过使用 git checkout python-pre-2.5 --certainties 和各种重命名组合(mvgit mv),我没有成功满足最后一个“git 透明度”要求。如何才能实现这一目标?

How can a directory be copied from a git branch to another without git tracking the files?

My goal is to have different branches for a project and be able to import part of each branch to a single directory for packaging ? Each branch contains code for a specific version of Python, but the package must contain the code for all the Python versions, so the code from all version-specific branches must be copied into the master branch before packaging.

Here is an example:

  • The git-controlled, master-branch directory contains:

    uncertainties/
    
  • I want to import the version of uncertainties/ contained in the python-pre-2.5 branch, so that the final directories are:

    uncertainties/  # Should not be touched
    uncertainties-py23/  # Imported from the python-pre-2.5 branch
    
  • A crucial point is that I do not want git status to report any change (if there was no change in the first place). In other words, the directory import process should be invisible to git.

By using git checkout python-pre-2.5 -- uncertainties and various combinations of renames (mv and git mv), I did not succeed in satisfying this last "git transparency" requirement. How can this be achieved?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

妳是的陽光 2024-11-10 19:21:35

只需将 uncertainties-py23/ 放入 .gitignore 中即可。

Just put uncertainties-py23/ in .gitignore.

心碎无痕… 2024-11-10 19:21:35

来自 master,

git archive python-pre-2.5 uncertanties > uncertanties-py23.tar
mkdir uncertainties-py23
tar xf uncertanties-py23.tar --strip-components=1 -C uncertanties-py23

然后添加 uncertanties-*/ 或类似于您的 .gitignore。

From master,

git archive python-pre-2.5 uncertanties > uncertanties-py23.tar
mkdir uncertainties-py23
tar xf uncertanties-py23.tar --strip-components=1 -C uncertanties-py23

And then add uncertanties-*/ or similar to your .gitignore.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文