2015-08-18 6 views
13

У меня есть подкаталог «WWW», который является репо:Переместить .git репо в родительский каталог

site 
|-- www/ 
| |-- .git/ 
| |-- index.html 
|-- design/ 
| |-- images.jpg 

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

site 
|-- .git/ 
|-- www/ 
| |-- index.html 
|-- design/ 
| |-- images.jpg 

Это можно сделать? Имеются ли последствия с тем, чтобы подтолкнуть изменения до Гитлаба?

+0

Я думаю, вы можете просто переместить каталог .git/в каталог (или два). Это будет довольно дорого, и первая фиксация будет интересной, но она должна работать. (на основании второго ответа на этот вопрос http://stackoverflow.com/questions/1918111/my-git-repository-is-in-the-wrong-root-directory-can-i-move-it-instead-of) – mrcheshire

+0

@mrcheshire Использование 'git mv' дает мне фатальную ошибку, в которой говорится, что целевой каталог« находится за пределами репозитория ». – RGilkes

+0

Просто используйте 'mv'. Затем 'git add -A',' git commit -a' – maackle

ответ

12
  1. Создайте каталог www в своем репо.
  2. git mv HTML-файлы в этот каталог. По желанию совершите этот шаг.
  3. mv каталог дизайна в вашем репо, и git add .
  4. Commit.
  5. Переименуйте/переместите все свое репо.
+0

Работало отлично. Такое простое решение тоже! – RGilkes

3

Следующие инструкции будут работать.

cd www 
mv .git ../ 
git add www 
git commit -a -m "Change root directory of project" 
git add design/* 
git commit -m "Start tracking design folder" 

Это сохранит вашу историю.

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