2012-05-03 4 views
3

Моя ситуация следующая:мерзавец тянуть в определенный каталог

У меня есть мерзавец Repo A, который содержит папку, ссылающийся материал из другого «проекта», хранящегося в мерзавца Repo B. Папка действительно просто символическая ссылка поэтому он фактически не существует.

То, что я хотел бы сделать, это «git pull» из Repo B в эту папку ТОЛЬКО, а затем вернуться обратно в Repo A, сохраняя как можно большую часть истории (если изменения должны идти в другую сторону).

Я мог бы просто вручную загрузить все файлы, но это потеряло бы всю историю. Кроме того, я мог бы просто иметь 2 отдельных репозитория и ссылку, но я хотел бы попробовать и объединить проект B в проект A, если это возможно.

ли мерзавец что-то вдоль линий ....

git remote add projectb GITURLFORB 
mkdir projectb 
git add projectb && git commit projectb 
git push origin master 
git pull projectb master --into_folder projectb 
git push origin master 

Спасибо

ответ

2

Это звучит, как вы хотите использовать submodules включить projectB. См http://book.git-scm.com/5_submodules.html

Самым большим преимуществом является то, что подмодулями projectA будет указывать на конкретный совершить в projectB даже если новые коммиты были сделаны в projectB. Это позволяет projectB развиваться, не беспокоясь о разрыве projectA. Если новый коммит в projectB будет работать с projectA, вы можете обновить указатель в projectA.

+0

спасибо за ваш быстрый ответ, это действительно то, что я хотел! Проект A всегда будет ссылаться на определенную часть Проекта B, и они могут развиваться независимо и «повторно объединяться» в более поздний момент времени. Отличная благодарность –

Смежные вопросы