从一个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 分支。请确保在执行这些操作之前备份你的代码。

相关文章
|
4月前
|
存储 安全 开发工具
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
289 4
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
|
21天前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
123 15
|
5月前
|
JavaScript 前端开发 持续交付
实际工作中 Git Commit 代码提交规范是什么样的?
实际工作中 Git Commit 代码提交规范是什么样的?
246 7
|
8月前
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
1671 86
|
5月前
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
4月前
|
开发工具 git 索引
如何使用Git的暂存区来管理代码更改?
如何使用Git的暂存区来管理代码更改?
743 0
|
8月前
|
存储 开发工具 git
TortoiseSVN迁移到本地git
通过上述步骤,您可以将项目从TortoiseSVN迁移到本地Git仓库。这一过程包括从SVN仓库检出代码、使用 `git-svn`转换为Git仓库、优化Git仓库以及将本地仓库推送到远程Git仓库。以下是思维导图示例,帮助您更好地理解迁移过程。
494 27
|
程序员 开发工具 git
迁移到 Git 的八个理由
最近谈到版本控制,所有人都在谈Git。当然随意的谈论并不能让你下定决心迁移到Git。这里列出了八条有分量的理由,让你加入Git阵营。 1. 快速 如果你每移动一下鼠标都要等待五秒,是不是很受不了?版本控制也是一样的,每一个命令多那么几秒钟,一天下来也会浪费你不少时间。
847 0
|
4月前
|
安全 开发工具 git
git的常用操作命令
git的常用操作命令
299 57
|
2月前
|
存储 缓存 开发工具
Git stash命令的详细使用说明及案例分析。
通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。
737 0