Можно ли добавить внешний каталог в существующий репозиторий git? - PullRequest
2 голосов
/ 04 января 2010

У меня есть существующее хранилище git с достаточным количеством истории, которую я не хочу потерять. Проблема в том, что я хотел бы добавить каталоги, которые находятся выше текущего каталога git root. Я знаю, что следующее не будет работать:

git add ../[dir]/[filename] 

Казалось бы, мне нужно сделать экспорт / импорт, чтобы это работало. Кто-нибудь может помочь мне спасти мою историю? Я на правильном пути, или есть намного более простой способ сделать это?

Ответы [ 2 ]

0 голосов
/ 04 января 2010

Итак, вот как я это исправил для себя. Учитывая оригинальную разметку файла

top-+
    |
    |-foo-+
    |     |-page1
    |     |-.git
    |
    |-bar-+
          |-page2

Я хотел добавить директорию bar в мой репозиторий и иметь файл .git прямо в директории 'top'.

  • создать новый каталог foo внутри существующего хранилища

  • переместить все версионные файлы в новый каталог foo, используя git mv

  • переместите каталог bar в исходный каталог foo, и файловая система теперь должна выглядеть следующим образом:

 top-+
     |
     |-foo-+
           |-.git
           |-foo-+
           |     |-page1
           |
           |-bar-+
                 |-page2

  • переместить исходный каталог foo на один уровень вверх
 /-+
   |-top/
   |-foo-+
         |-.git
         |-foo-+
         |     |-page1
         |
         |-bar-+
               |-page2

  • удалить top и переименовать foo в top
  • зафиксировать изменения

История версий сохраняется, и у вас есть сообщение о коммите, чтобы показать, как изменилась структура каталога.

0 голосов
/ 04 января 2010

вы можете символическую ссылку, которая dir в ваш git dir:

ln -s ../[dir] externaldir
git add externaldir
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...