我想以某种方式更改git目录结构。目前架构就像
VL(repo) .git (hidden) code files ...... ..... I want it like html(repo) .git VL code files ...... ......
我有一个解决方案来存档当前的仓库,然后创建具有上述结构的新仓库。但这种方法的坏处在于它删除了以前的所有历史记录。还有更好的解决方案吗?
答案 0 :(得分:20)
将根文件夹的名称从VL
更改为html
应该没有问题,因为git仅适用于该级别以下的目录。
那么,剩下的就是在VL
文件夹下面引入文件夹html
并将所有code files
移到那里:
mkdir VL
git mv <all your code> VL
git commit -m "moved all my code under VL"
使用git mv
你告诉git你移动了东西,所以它仍然可以跟踪历史。
修改强>
正如Benjol在评论中指出的那样,使用git mv
并非必要。您可以通过将<all your code>
复制到VL
,然后执行
git add VL
git rm <all your code>
git commit -m "moved all my code under VL
git非常聪明,能够识别出这一动作。
答案 1 :(得分:2)
手动移动代码。然后,
git add -A
git commit -m "moved code"
完成。