【发布时间】:2020-08-23 00:45:33
【问题描述】:
我刚刚将我正在构建的一个 php 项目推送到名为 php 的远程仓库,然后我意识到我需要将它放在该仓库的子目录中。我对 git 有点陌生,我不知道如何获取本地仓库并将其推送到远程仓库中的子目录。谁能告诉我我需要做什么?我是合并它、移动它还是什么?
【问题讨论】:
标签: git command-line
我刚刚将我正在构建的一个 php 项目推送到名为 php 的远程仓库,然后我意识到我需要将它放在该仓库的子目录中。我对 git 有点陌生,我不知道如何获取本地仓库并将其推送到远程仓库中的子目录。谁能告诉我我需要做什么?我是合并它、移动它还是什么?
【问题讨论】:
标签: git command-line
将现有 git 项目添加到另一个现有 git 存储库的最佳方法是将其添加为子模块。
git submodule add [URL to Git repo]
git submodule init
通过运行 git submodule init 后跟 git submodule update 来初始化存储库的子模块。
切换到子模块的目录并检查您添加的项目的所需分支,例如,git checkout master
【讨论】:
您可以使用git filter-branch、like so 重写您的回购历史:
git filter-branch --tree-filter 'mkdir -p /path/to/tmp; mv * /path/to/tmp; mkdir subdir; mv /path/to/tmp/* subdir/' --tag-name-filter cat --prune-empty -- --all
git filter-repo --path-rename /:subdir/
然后push -f 你重写的master 分支。
【讨论】: