2015-07-26 4 views
1

Я пытаюсь организовать папку моих проектов, в которой есть все проблемы /r/dailyprogrammer, которые я пытался. В настоящее время каждая задача имеет свою собственную папку и, следовательно, свою собственную ретрансляцию git.Объединить отдельные репозитории git в один репозиторий, организованный по папкам

Что бы я хотел сделать, это сделать одно большое репо и объединить все мои задачи в свою папку внутри большого репо. Таким образом, на GitHub у меня нет миллиона различных репозиториев; скорее в одном большом репо, организованном в папках.

Вот моя текущая структура папок, содержащая все мелкие GIT операции РЕПО:

. 
    |-201PracticalExcerise 
    |-204Hard 
    |-204Intermediate 
    |-214Hard 
    |-215Easy 
    |-215Intermediate 
    |-218Easy 

Я попытался следующие this guide. Но каждый раз, когда я делаю слияние, файлы из репозитория git будут скопированы в корень большого репо. Затем, когда я переместил эти файлы в свою папку, я потерял историю фиксации.

Я не мог понять, как заставить файлы перейти в отдельные папки.

Как я могу взять каждую папку выше, объединить их в один большой репо с их соответствующими историями фиксации и их собственной папкой?

ответ

1

Во-первых, убедитесь, что следовать комментарий в руководстве:

Обязательно создать по крайней мере один начальный совершить перед делать суб-дерево слияния.

Если это не работает, вы можете попробовать делать следующее:

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

Например, в 201PracticalExcerise репо, выполните следующие действия:

  • mkdir 201PracticalExcerise
  • git mv [all files at root level] 201PracticalExcerise

Затем повторите для каждого из них (так что они уже в правильных подкаталогах).

Я бы попробовал это на пару сначала, чтобы убедиться, что это работает.

+0

Так что делайте 'git mv' для каждого файла в каждом репо? – ctzdev

+1

Надеюсь, я уточнил свои намерения. Я не пробовал, но похоже, что он должен работать. – rholmes

+0

Я попытался сделать то, что вы предложили. Но на шаге в учебнике, в котором говорится, что нужно сделать «git read-tree», он создает еще одну папку «201PracticalExcerise» в каталоге, с теми же файлами внутри. Другими словами, он создает копию каталога внутри себя. – ctzdev

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