【问题标题】:Git change the repo path of a subfolderGit更改子文件夹的repo路径
【发布时间】:2015-01-15 23:10:08
【问题描述】:

我有一个如下的 git 结构:

/web_app
-- /static
-- /templates
-- app.py

有了这个,当我推送到我的仓库时,它的推送完全遵循那个文件夹结构,但我在仓库中想要的是这个结构:

/web_app
--  /web
    -- /static
    -- /template
-- app.py

所以我想要做的是不知何故,从我电脑中的文件夹将文件夹/static/templates 推入 repo 中的 /web/ 中,并在拉取或克隆时保持原始文件夹结构。

我一直在搜索 submodulessubtrees 的文档,但要么我不太了解它们的工作原理,要么它们不能满足我的需求。

那么,有没有办法做到这一点?

提前致谢!

【问题讨论】:

    标签: git github repository git-submodules git-subtree


    【解决方案1】:

    我的第一个建议是下载 the git cheat sheet 并将其放在桌面上。

    完成你想做的事情的命令是shell中的git mv <source> <destination>.documentation for the command 声明它将适用于目录。

    在您的情况下,这意味着您应该从 /web_app 目录中创建您的“web”目录:

    md web
    

    那么你应该移动你的目录

    git mv ./static ./web/static
    git mv ./template ./web/template
    

    【讨论】:

    • 我知道我误解了。您可以创建在推送或拉取时运行的客户端 git 挂钩。但是,我相信很难让它正常工作。您最终可能会将文件放置在错误的位置。所以我认为,不,你不能做到这一点。
    【解决方案2】:

    我最后做了以下事情:

    我创建了一个新的 Repo,并用 git 子模块模块化了 /web。

    它解决了我的问题,但对于我发布的真正问题,请查看 M.K. Hunter 选项

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 2015-12-25
      • 2016-07-09
      • 1970-01-01
      相关资源
      最近更新 更多