如何将git存储库的根目录移动一级? (不移动子文件夹)

时间:2017-08-28 14:57:37

标签: git directory

我有一个具有以下文件夹结构的本地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存储库的根目录移动一级?

1 个答案:

答案 0 :(得分:4)

我理解您想要做的事情,主要基于您的目录树图。听起来你有一个现有的目录结构,你不想重新定位任何文件;但你希望git能够看到它现在拥有的文件,以及你现在拥有的文件上面的目录。

我强烈建议在此之前进行备份,但这是一个我认为可行的程序(在我的测试中没问题),只要你没有做任何异国情调:

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

现在,如果您执行git status,则应显示您已“重命名”仓库中的所有内容,将每个内容移动到kronos/目录下,并添加{{1}中的其他文件}。如果看起来像,你可以提交。