Как получить копию каталога из другой ветки git прозрачным способом? - PullRequest
3 голосов
/ 25 апреля 2011

Как можно скопировать каталог из ветки 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 и различных комбинаций переименований (mv и git mv) мне не удалосьв удовлетворении этого последнего требования "прозрачности мерзавца".Как этого достичь?

Ответы [ 2 ]

2 голосов
/ 25 апреля 2011

Просто положите uncertainties-py23/ в .gitignore.

1 голос
/ 26 апреля 2011

от мастера,

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.

...