我想以一种类似于 github 处理项目页面的方式将一个存储库嵌入到另一个存储库中。
基本思想是创建孤立分支(没有父母):
git clone myproject myproject_folder
cd myproject_folder
git co --orphan project2
git rm -rf . # Remove everything from current index
Run Code Online (Sandbox Code Playgroud)
要制作 github 项目页面,您只需命名孤立分支gh-pages并开始提交。现在我想在这种状态下包含另一个带有历史记录的 git 跟踪项目。
预期的结果是:
git clone mymultipleprojects folder
cd folder
git co master # Master project
git co second # Completely different, or just related project
Run Code Online (Sandbox Code Playgroud)
我知道我可以复制其他项目文件并提交它,但是我会丢失历史记录,我可以以某种方式保留历史记录吗?
您可以添加另一个存储库作为附加源:
git remote add branch-to-merge URL
Run Code Online (Sandbox Code Playgroud)
并将其拉入您的master分支:
git pull branch-to-merge master
Run Code Online (Sandbox Code Playgroud)
或者,在新版本的 GIT 中,可能会运行先前的命令(从您想要将更改拉入的分支),如下所示:
git merge branch-to-merge --allow-unrelated-histories
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1146 次 |
| 最近记录: |