2015-06-09 7 views
-1

У меня есть программа, разделенная на 3 пакета. Я установил локальное репо в одном из пакетов и настроил его, чтобы нажать на репо на gitHub. Я начал работу над вторым пакетом, и я понял, что не инициализировал его git. Я хотел использовать один и тот же репо gitHub, чтобы подтолкнуть второй пакет, но я не уверен, что он сработает, так как я уже настроил свой первый пакет, чтобы нажать на него. Я думаю, что я должен был выполнить git init в родительской папке из трех пакетов, а затем структура папки/пакета появилась бы на моем репозитории gitHub. Есть ли простой способ исправить это? Благодаря!Мне нужно git, чтобы включить родительский каталог

+0

У этого решения есть решение: http://stackoverflow.com/questions/30629188/how-to-move-a-local-git-repository-to-the-root-folder-and-preserve-history/30629580 # 30629580 –

+0

И вот, несколько менее конкретный: http://stackoverflow.com/questions/19097259/how-to-move-a-git-repository-into-another-directory-and-make-that-directory-a- gi? lq = 1 –

+0

Спасибо за ссылки! – ponder275

ответ

1

Допустим, ваш родительский каталог называется parent, и ваш ребенок каталоги называются package1, package2 и package3 , Предположим также, что package1 - это каталог, в котором у вас есть репозиторий git. Я бы просто сделал ещеpackage1 директорию в качестве оригинала каталога package1 и переместить содержимое исходного каталога package1 в него. Затем переместите package2 и package3, чтобы быть детьми оригинала package1. Вы можете переименовать исходный файл package1 в родительский. git add --all . все это, и теперь у вас есть репо со всеми тремя каталогами. Самое приятное, что вы не потеряете историю всех файлов, которые вы перенесли; git достаточно умен, чтобы обнаруживать переименования/перемещения.

+0

Спасибо! Это звучит как простой способ сделать это. – ponder275

+0

Я нажал стрелку вверх. Что еще мне нужно сделать? – ponder275

+0

Я нашел галочку. Благодаря! – ponder275

-1

Предположим, что мы имеем структуру каталогов, как это:

A 
    | 
    B 
    | 
    .git and other files 

Вы должны:

cd B 
mkdir C 
ls | grep -v '^C$' | xargs -L 1 -I '{}' git mv -r '{}' C/ 
ls ../ | grep -v '^B$' | xargs -L 1 -I '{}' mv ../'{}' . 
git commit -am 'Change directory structure and include parent dir' 
+0

Демпинг комплекс команд оболочки в ответ без объяснений не очень полезен. Добавьте некоторый контекст. – Chris

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