从一个git仓库内迁移分支代码到另一个git仓库,保存之前仓库的提交记录

简介: 有时候拉取开源仓库到自己的仓库,再拉取时又想保留开源之前的提交路径,并且自己的仓库不想展示分支名称为开源仓库名称,想改为master,可以看下面的几种方式

第一种需求方式

如果A是已有仓库,B是新建立的空仓库。(如下操作,提交记录也会带到新仓库里)

1、在本地拉一下(git clone)A仓库的代码,或者是 git pull 下最新的代码。

2、git remote # 查看本地连接的有哪些 远程仓库,默认是 origin

3、git remote add origin2(这个名字随便起) master # 这里是在本地添加一个新的远程连接

4、git remote set-url origin2 B仓库的地址 # 这里是新加个远程连接 设置上url地址

5、在A的本地仓库 git push origin2 dev:master # origin2 是你想push上哪个远程库,dev 是你想push哪个分支,master 是push到远程的哪个分支。 这个命令执行以后要输密码,记得是新仓库的密码。

6、设置默认提交仓库, 将本地的分支和远程分支做关联,比如master分支 git branch --set-upstream-to=gitlab/master ,其他分支照此办理。

第二种需求,推送时,将B仓库的分支改为Master名称,而非A仓库的分支名称

  1. 克隆 A 仓库:首先,克隆 A 仓库到本地。使用以下命令:
git clone <A仓库URL>
  1. 进入 A 仓库目录:使用以下命令进入克隆的 A 仓库目录:
cd <A仓库目录>
  1. 查看 A 仓库的分支列表:使用以下命令查看 A 仓库的所有分支:
git branch -a

这将列出 A 仓库中的所有分支,包括本地分支和远程分支。

  1. 切换到要推送的分支:使用以下命令切换到要推送到 B 仓库的分支:
git checkout <要推送的分支>
  1. 重命名分支为 master:使用以下命令将当前分支重命名为 master:
git branch -m master
  1. 添加 B 仓库作为新的远程仓库:添加 B 仓库作为新的远程仓库。使用以下命令:
git remote add origin <B仓库URL>

这将添加一个名为 origin 的远程仓库,它指向 B 仓库 URL。

  1. 推送分支到 B 仓库:使用以下命令将重命名的 master 分支推送到 B 仓库:
git push -u origin master

-u 参数将设置 origin/master 作为本地分支的上游。

完成上述步骤后,A 仓库中指定的分支将被推送到 B 仓库,并在 B 仓库中命名为 master 分支。请确保在执行这些操作之前备份你的代码。

相关文章
|
12天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
31 2
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
112 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
1月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
151 1
git学习三:git使用:删除仓库,删除仓库内文件
|
1月前
|
开发工具 git 开发者
关于git 解决分支冲突问题(具体操作,包含截图,教你一步一步解决冲突问题)
本文通过具体操作和截图,详细讲解了如何在Git中解决分支冲突问题,包括如何识别冲突、手动解决冲突代码、提交合并后的代码,以及推送到远程分支。
360 3
关于git 解决分支冲突问题(具体操作,包含截图,教你一步一步解决冲突问题)
|
1月前
|
开发工具 git
git如何修改提交代码时的名字和邮箱?
git如何修改提交代码时的名字和邮箱?
65 4
|
1月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
69 4
|
1月前
|
开发工具 git
Git分支使用总结
Git分支使用总结
39 1
|
1月前
|
Java Linux 开发工具
IDEA中git提交前如何关闭code analysis以及开启格式化代码
【10月更文挑战第12天】本文介绍了在 IntelliJ IDEA 中关闭代码分析和开启代码格式化的步骤。关闭代码分析可通过取消默认启用检查或针对特定规则进行调整实现,同时可通过设置 VCS 静默模式在提交时跳过检查。开启代码格式化则需在 `Settings` 中配置 `Code Style` 规则,并通过创建 Git 钩子实现提交前自动格式化。
234 3
|
1月前
|
网络协议 网络安全 开发工具
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
|
1月前
|
JavaScript 前端开发 开发工具
一身反骨的我,用--no-verify绕开了git代码提交限制!
【10月更文挑战第7天】一身反骨的我,用--no-verify绕开了git代码提交限制!
104 0