如何将git仓库的根目录上移一级?(没有移动的子文件夹)

Ste*_*ica 1 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
Run Code Online (Sandbox Code Playgroud)

我想通过将根文件夹上移一层来扩展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
Run Code Online (Sandbox Code Playgroud)

我已经阅读了如何移动git存储库的根目录?,但最重要的答案是重写历史记录,我想避免这种情况。

如何在不重新定位现有文件和子文件夹的情况下将git存储库的根目录上移一个级别?

Mar*_*ger 6

我主要根据您的目录树图了解您想要做什么。听起来您已有目录结构,您不想在其中重定位任何文件;但是您希望git查看它现在拥有的文件,以及现在拥有的文件上方的目录。

我强烈建议您在执行此操作之前先进行备份,但是只要您不执行任何其他操作,以下是我认为可以使用的程序(在我的测试中还可以):

cd .../scripts
mv kronos/.git .
git add .
Run Code Online (Sandbox Code Playgroud)

现在,如果执行了git status,它应该表明您已经“重命名”了仓库中的所有内容,将它们移到kronos/目录下,并从中添加了其他文件scripts。如果看起来像,则可以提交。