Git 如何将一个项目的代码放到一个新的仓库中,但不在新的仓库中显示旧的提交记录

简介: Git 如何将一个项目的代码放到一个新的仓库中,但不在新的仓库中显示旧的提交记录

一、异常错误

场景:我想把RuoYi的代码放到一个新的仓库里,放进去之后,这个仓库会显示RuoYi之前的所有提交,如何不显示这些旧的提交?

有时候,我们可能需要将一个项目的代码放到一个新的仓库中,但是我们又不想在新的仓库中显示旧的提交记录。这可能是因为旧的提交记录包含一些敏感信息,或者因为我们只想在新的仓库中保留最新的代码历史记录。

二、原因

当我们需要将一个项目的代码放到一个新的仓库中时,可能有以下几种情况:

  1. 我们想要将代码从一个公共仓库中复制到一个私有仓库中,以保护代码的安全性。
  2. 我们想要将一个项目的代码从一个仅供开发人员使用的仓库中复制到一个公共仓库中,以便其他人可以查看和使用该代码。
  3. 我们想要将一个项目的代码从一个旧的仓库中复制到一个新的仓库中,并且只保留最新的提交历史记录,以便使新的仓库更加整洁和易于管理。

在这些情况下,我们可以使用类似下面提到的步骤来完成任务。但需要注意的是,在进行这些操作之前,我们应该先备份原有仓库的代码,以防止数据丢失。同时,我们也需要确保在进行任何更改之前,仔细阅读并理解Git的相关操作指南,以确保我们不会意外删除或更改重要的数据。

三、解决方法

如果您想将ruoyi的代码放到一个新的仓库里,并且不想显示旧的提交记录,可以使用以下步骤:

  1. 创建一个新的空白仓库,例如使用GitHub或GitLab创建一个新的仓库。
  2. 将ruoyi的代码clone到本地。
  3. 进入ruoyi的本地仓库目录,使用以下命令将其转换为一个新的仓库:
git init
git remote add origin <新仓库的远程地址>
git fetch --all
git reset --hard origin/master

这些命令将把ruoyi的本地仓库转换为一个新的仓库,并将其与新的远程仓库关联起来。

4.使用以下命令清除旧的提交记录:

git checkout --orphan latest_branch
git add -A
git commit -am "Initial commit"
git branch -D master
git branch -m master
git push -f origin master

这些命令将创建一个新的分支latest_branch,并将所有文件添加到该分支中。然后,它将创建一个新的提交,该提交将作为新仓库的初始提交。最后,它将删除旧的master分支,并将latest_branch分支重命名为master分支,并将其强制推送到新的远程仓库中。

这样,您就可以将项目的代码放到一个新的仓库里,并且不显示旧的提交记录。


这些代码是Git命令,用于将项目的代码放到一个新的仓库里,并且不显示旧的提交记录。下面是每个命令的详细解释:

  1. git init: 初始化一个Git仓库。
  2. git remote add origin <新仓库的远程地址>: 将本地仓库与新的远程仓库关联起来。
  3. git fetch --all: 从远程仓库获取所有分支和提交记录。
  4. git reset --hard origin/master: 将本地仓库的代码重置为远程仓库的master分支的最新提交。
  5. git checkout --orphan latest_branch: 创建一个新的分支latest_branch。
  6. git add -A: 将所有文件添加到暂存区。
  7. git commit -am "Initial commit": 创建一个新的提交,作为新仓库的初始提交。
  8. git branch -D master: 删除旧的master分支。
  9. git branch -m master: 将latest_branch分支重命名为master分支。
  10. git push -f origin master: 强制推送master分支到新的远程仓库中。

这些命令的目的是将项目的本地仓库转换为一个新的仓库,并清除旧的提交记录,以便在新的仓库中只显示初始提交。

目录
相关文章
|
8天前
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
110 68
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
11天前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
2月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
78 2
|
3月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
201 1
git学习三:git使用:删除仓库,删除仓库内文件
|
3月前
|
开发工具 git
git如何修改提交代码时的名字和邮箱?
git如何修改提交代码时的名字和邮箱?
351 4
|
3月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
116 4
|
3月前
|
Java Linux 开发工具
IDEA中git提交前如何关闭code analysis以及开启格式化代码
【10月更文挑战第12天】本文介绍了在 IntelliJ IDEA 中关闭代码分析和开启代码格式化的步骤。关闭代码分析可通过取消默认启用检查或针对特定规则进行调整实现,同时可通过设置 VCS 静默模式在提交时跳过检查。开启代码格式化则需在 `Settings` 中配置 `Code Style` 规则,并通过创建 Git 钩子实现提交前自动格式化。
987 3
|
3月前
|
存储 开发工具 git
Git 远程仓库地址管理:添加、修改和验证
Git 远程仓库地址管理:添加、修改和验证
160 4
|
3月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
469 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
4月前
|
开发工具 git
IDEA更改远程git仓库地址
【9月更文挑战第27天】本文介绍了两种在IntelliJ IDEA中更改远程Git仓库地址的方法:一是通过图形界面,在VCS设置中直接修改;二是通过IDEA内置的命令行工具使用`git`命令进行更改。具体步骤包括从版本控制菜单进入项目设置、修改远程仓库URL,以及使用`git remote set-url`命令更新仓库地址,并验证修改结果。这些方法适用于项目迁移或更换仓库地址的情况。
1015 6