我有一个类似于这个问题中所问的场景:将本地新的 Git 存储库推送到现有的远程存储库作为分支?
场景是:我有一个本地存储库 A,我想将其作为新分支推送到远程存储库 B。我本身不想合并,只想在远程存储库中创建一个新分支,而不会丢失存储库 A 的历史记录。
场景如下:
本地仓库A
远程仓库 B
期望的结果:远程仓库 B 有名为 A 的分支
但是这个问题的答案(将本地新的 Git 仓库作为分支推送到现有的远程仓库?)并没有解释执行推送时如何在仓库 A 和仓库 B 之间切换路径。
我找到了另一个解决方案:如何合并两个 Git 存储库?(答案中列出了详细步骤),但我不想创建子目录,而是创建本地存储库的分支。我认为以下步骤中缺少一些步骤来使存储库 A 作为分支:
cd path/to/Repo-B
git remote add Repo-A /path/to/Repo-A
git fetch Repo-A --tags
git merge --allow-unrelated-histories Repo-A/master
git remote remove Repo-A
有什么方法可以完成将本地存储库作为新分支移动到远程存储库而不丢失任何历史记录?
您可以按照以下两个步骤来完成此操作。
来自本地仓库 A
git remote set-url origin <remote_Repo_B_git_url>
git push origin <local_repo_A_branch>:Repo_A
示例
git remote set-url origin [email protected]:xxxx/yy.git
git push origin main:Repo_A