【问题标题】:changing the git structure更改 git 结构
【发布时间】:2012-03-06 18:39:22
【问题描述】:

我想以某种方式更改 git 目录结构。目前的架构是这样的

VL(repo)    
    .git (hidden)    
     code files    
     ......    
     .....

I want it like

html(repo)
    .git   
     VL
       code files
       ......
       ......

我有一个解决方案来存档当前的 repo,然后创建具有上述结构的新 repo。但是这种方法的坏处是它删除了所有以前的历史记录。有没有更好的解决方案?

【问题讨论】:

    标签: git github repository


    【解决方案1】:

    将根文件夹的名称从 VL 更改为 html 应该没有问题,因为 git 仅适用于该级别以下的目录。

    所以,剩下的就是在html 文件夹下面引入文件夹VL 并将所有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 是不必要的。您可以通过将&lt;all your code&gt; 复制到VL 来实现相同的效果,然后这样做

    • git add VL
    • git rm &lt;all your code&gt;
    • git commit -m "moved all my code under VL

    git 足够聪明,可以识别动作。

    【讨论】:

    • 即使你不使用git mv,git 也应该知道文件只是移动而没有改变的事实。
    • @Benjol:是的,你当然是对的。只是想向 OP 提供关于他的用例有一个内置命令的信息。更新答案。谢谢。
    • 请注意,使用“git log --follow”可以在整个更改中访问历史记录,但这仅适用于单个文件。
    【解决方案2】:

    手动移动您的代码。那么,

    git add -A
    git commit -m "moved code"
    

    完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-08
      • 2019-11-17
      相关资源
      最近更新 更多