2012-01-17 3 views
18

У меня есть проект Xcode, который сам имеет Git Source Control. В библиотеке я клонировал восемь других проектов Git от GitHub. Они расположены внутри моего собственного репозитория Git, и я добавил все эти библиотеки в мой git в commit.Git: Как обрабатывать библиотеки git в проекте

Вместо того чтобы иметь код всех этих библиотек git в моем репозитории, есть ли способ позволить git загружать свой код из своего репо, когда я делаю клон моего репо? Или это нормально включать другие репозитории git внутри проекта?

+0

http://stackoverflow.com/questions/2140985/setup-a-git-external-for-remote- репо – tobiasbayer

ответ

24

Конечно сделайте следующее:

  1. Удалите третью-партийную папку, вы, возможно, добавили уже
  2. Откройте терминал и выполните следующие команды

    cd /path/to/your/main/repo 
    git submodule add [email protected]:someuser/somerepo.git somerepo 
    git commit -m "Added submodules" 
    
  3. Теперь вместо копирования этих файлов вы будете иметь ссылку на другой репозиторий в проекте:

    http://i.minus.com/jcphKnFxLexk8.png

Edit:

Теперь, если вы хотите обновить подмодуль в более поздняя фиксация вы можете сделать следующее:

cd somerepo 
git pull # You can also checkout a branch/tag etc. 
cd .. 
git add somerepo 
git commit -m "Telling the main repo to update the reference to the referenced repo" 
+0

спасибо. Не могу ли я использовать это вместо 'git subodule add https://github.com/AlanQuatermain/AQGridView.git Libraries/AQGridView' вместо' [email protected]: ... '? – dhrm

+0

Как я могу обновить эти подмодули? Они автоматически вытягиваются, когда я вытягиваю свое репо или мне нужно зайти в их папку и сделать «git pull»? – dhrm

+0

@DennisMadsen Да, вы можете сделать git pull, который делает какие-либо изменения в 'somerepo', однако вы также должны сообщить основному репозиторию об обновлении ссылки. См. Мое обновленное сообщение. BTW: Я считаю, что подмодули весьма удобны, поскольку вам не нужно дублировать код из репозиториев, которые уже доступны для вас через git. – Besi

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