2015-11-09 7 views
1

У меня есть каталог ./a/b/. Только b является git repo. Теперь я решил, что дерево git repo должно начинаться с a и включать (если возможно) всю информацию о репо b.GIT - как правильно «git init» «верхний» каталог git-репозитория

Я пробовал только git init от a и совершить. Но когда клонируется a, у него есть пустой b. (что интересно, потому что, насколько я знаю, git обычно игнорирует пустые каталоги)

Возможно ли это сделать?

ответ

1

Просто вставьте свою .git папку в a и добавьте все.

mv .git ../.git #move the repo 
cd .. #go to the parent dir 
git add --all #add everything 
git commit -m 'moves everything into a subfolder' #commit everything 

мерзавец распознает все как "переименованы" (пример с одним файлом)

статус мерзавец
На ветке мастер
Изменения будут comitted:
(используйте «GIT сброса ГОЛОВУ ...», чтобы убрать из буфера)

переименованный: тест -> б/тест

0

Я предлагаю остановиться в вашем репо в ./a/b и переместить все отслеженные файлы в подкаталог ./a/b/a/b через git mv filename. После этого у вашего репо есть правильная структура, которая есть все, что действительно имеет значение. Затем вы можете переместить весь репо на ., чтобы получить именно то, что вы хотите. git mv поддерживает использование подстановочных знаков, чтобы сделать это проще.

Род занятий question. Вы можете получить немного больше автоматизации через этот answer.

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