2012-07-23 138 views
0

任何人都可以指導我如何將git目錄移動到子目錄中嗎?將git跟蹤移動到子目錄中而無需跟蹤同輩

當前目錄結構如下:

/bigproject 
    --.git 
    --partA/ 
    --partB/ 

我想讓它像:

/bigproject 
    --partA/ 
    --.git 
    --partB/ 

我不關心B部分的歷史,我會做一個新的Git目錄在那裏。當我將它移入partA目錄時,我確實希望保留partA的歷史記錄。

我該如何做到這一點?本指南試圖完成類似但不同的事情:Detach (move) subdirectory into separate Git repository

+0

你發佈的答案和你的問題有什麼不對?這似乎解決了你的確切問題。 – 2012-07-23 13:06:55

+0

這更關注分割目錄和保存東西。也許git-paranoia正在接近我。 – NoviceCoding 2012-07-23 13:14:55

+0

那我真的不明白你的問題。這聽起來像你想分割目錄和保存東西。無論如何,看起來像你找到了你的答案:) – 2012-07-23 18:20:51

回答

1
git rm -r partB 
git mv partA/* . 
git commit 

......就這樣完成了。

這樣可以使所有的以前歷史(你可以用git filter-branch改寫它擺脫partB的歷史,如果你想在partA盛大重命名),但使得目前partA目錄庫的新的頂部。

+0

這是否有問題,並忽略文件?我變得致命了:不受版本控制,source = bp-site/manage.pyc,destination = manage.pyc – NoviceCoding 2012-07-23 12:51:04

+0

@NoviceCoding是的。你可以使用git的'clean'命令從'partA'中刪除被忽略的文件,或者以舊式的方式移動它們。 – Borealid 2012-07-23 12:54:01

+0

看起來像它的工作。謝謝! – NoviceCoding 2012-07-23 13:14:09