Вложенные проекты под контролем версий, это сломается? - PullRequest
1 голос
/ 28 февраля 2012

Прежде чем я зайду на неизведанные территории, мне интересно, может ли один из вас, Гит-гуру, дать какой-нибудь совет.

У меня есть решение с тремя проектами под управлением версий на GitHub.

Я собираюсь развернуть ствол в качестве четвертого проекта в моем решении, чтобы я мог получить некоторые из их исправлений раньше, чем когда они внесут эти изменения в nuget. орг .

Не нарушит ли это мое репо, вложив контролируемый версией проект lucene.net в мое контролируемое версией решение?

1 Ответ

0 голосов
/ 29 февраля 2012

Представьте себе следующий макет:

a/
    .git/
    somefile1
    somefile2
    dir1/
        .git/
        file1
        file2             

Если вы введете git add dir1/file1 или git dd dir1/, вы просто добавите файлы, например "dir1 / file1".Но если вы сделаете git add dir1 или git add ., git просто добавит указатель на последний коммит в подкаталог "dir1" без добавления содержимого.Он создаст подмодули (для правильной настройки вам также понадобится настроить .gitmodules).«git gui» также будет видеть его в качестве кандидата на подпроект.

Вы можете включать файлы в оба независимых репозитория (например, «dir1 / file1» в первом, «file1» в другом) и «git checkout»"(или другие команды) в одном репозитории будет выглядеть как просто редактирование файлов в другом.

Вы должны взглянуть на diff (как в" git diff HEAD ") перед тем, как подтвердить, что вы являетесьделает.Если это похоже на «Subproject commit b6030fea2687a6133c3a8d97e270485d9b5e552f», то это просто добавление указателя на другой репозиторий, если это обычный diff, то подпроекты не используются, и вы просто добавляете файлы оттуда.

...