2015-08-18 113 views
13

我有一個名爲「www」的子目錄,這是一個回購協議:移動git的回購父目錄

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

我想回購更改到父目錄,以便回購結構反映原文件結構如下:

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

可以這樣做嗎?那麼將變更推向Gitlab有什麼意義?

+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. 提交。
  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" 

這將保留您的歷史。