我有一个具有以下文件夹结构的本地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 :(得分:4)
我想我理解您想要做的事情,主要基于您的目录树图。听起来你有一个现有的目录结构,你不想重新定位任何文件;但你希望git能够看到它现在拥有的文件,以及你现在拥有的文件上面的目录。
我强烈建议在此之前进行备份,但这是一个我认为可行的程序(在我的测试中没问题),只要你没有做任何异国情调:
cd .../scripts
mv kronos/.git .
git add .
现在,如果您执行git status
,则应显示您已“重命名”仓库中的所有内容,将每个内容移动到kronos/
目录下,并添加{{1}中的其他文件}。如果看起来像,你可以提交。