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

时间:2011-04-25 14:35:16

标签: git packaging git-branch pypi

如何在没有git跟踪文件的情况下将目录从git分支复制到另一个

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

以下是一个例子:

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

    uncertainties/
    
  • 我想导入uncertainties/分支中包含的python-pre-2.5版本,以便最终目录为:

    uncertainties/  # Should not be touched
    uncertainties-py23/  # Imported from the python-pre-2.5 branch
    
  • 关键是我不希望git status报告任何变化(如果首先没有变化)。换句话说,目录导入过程应该对git不可见。

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

2 个答案:

答案 0 :(得分:2)

只需将uncertainties-py23/放入.gitignore

答案 1 :(得分:1)

来自大师,

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。