2017-08-28 78 views
0

我有一個本地Git存儲庫,具有以下文件夾結構。如何將我的git存儲庫的根移動到一個級別? (無需移動子文件夾)

kronos 
|-- org_maps 
| |-- attach_departments.ahk 
| `-- attach_jobs.ahk 
|-- org_sets 
| `-- create_org_sets.ahk 
`-- labor_level_sets 
    `-- create_labor_sets.ahk 

我想通過將我的根文件夾移動一個級別來擴展我的Git存儲庫的範圍。

scripts 
|-- kronos 
| |-- org_maps 
| | |-- attach_departments.ahk 
| | `-- attach_jobs.ahk 
| |-- org_sets 
| | `-- create_org_sets.ahk 
| `-- labor_level_sets 
|  `-- create_labor_sets.ahk 
`-- peoplesoft 
    `-- kronos 
     `-- add_elig_departments.ahk 

我讀過How can I move the root of my git repository?,但最多的回答表明rewriting history,我想避免的。

如何在不重新定位現有文件和子文件夾的情況下將我的git存儲庫的根向上移動一個級別?

+0

「git mv」(這是您想要的正確方法)的問題是什麼? – Leon

+0

@Leon是不是'git mv'也移動了我所有的子文件夾?我試圖從''U:\ Documents \ Scripts \ Kronos \''移動到''U:\ Documents \ Scripts \'' –

+0

它會移動您告訴它的內容。如果您需要移動所有子文件夾,那麼問題是什麼? – Leon

回答

3

認爲我明白你想要做什麼,主要基於你的目錄樹圖。這聽起來像你有一個現有的目錄結構,其中你不想重新定位任何文件;但你想要git來查看它現在的文件,再加上你現在擁有的文件上面的目錄。

我強烈建議在此之前備份,但這裏是我認爲就可以了(並且是在我的測試中確定)的程序,只要你沒有做任何事情奇特:

cd .../scripts 
mv kronos/.git . 
git add . 

現在,如果您執行git status,則應該顯示您已將「repo」中的所有內容「重命名」,將每個目錄都移動到kronos/目錄下,並從scripts中添加其他文件。如果它看起來像,你可以提交。

+0

[這完全按預期工作](https://i.stack.imgur.com/8ErDD.png)。我將遷移分成兩個獨立的提交。 (一個用於移動根目錄,另一個用於添加PeopleSoft文件夾) –

相關問題