首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在保留历史记录的同时将git repo重新发布到父文件夹?

在保留历史记录的同时将git repo重新发布到父文件夹,可以通过以下步骤实现:

  1. 首先,进入要重新发布的git repo所在的文件夹。
  2. 使用以下命令将git repo的远程仓库URL更改为新的父文件夹的URL:git remote set-url origin 新的父文件夹的URL
  3. 确保当前分支是要重新发布的分支,如果不是,可以使用以下命令切换到目标分支:git checkout 目标分支
  4. 使用以下命令将git repo的所有历史记录和文件复制到新的父文件夹中:git push --mirror

这将保留所有历史记录、分支和标签,并将它们推送到新的父文件夹。

  1. 完成以上步骤后,git repo将重新发布到新的父文件夹,并保留了所有历史记录。

请注意,以上步骤假设你已经正确配置了git,并且具有对新的父文件夹的写入权限。此外,如果新的父文件夹已经存在其他文件,请确保不会发生冲突。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从9G0.3G,腾讯会议对他们git库做了什么?

之所以这么做,是为了保证其他平台无缝对接新 Git 仓库,不用再更换 Git 地址,另外有些通过 api 调用系统和工具也不受到影响。 瘦身内容: 历史记录删除,只保留最近半年历史记录。...lfs 文件版本 git fetch --all git lfs fetch --all 4.2 使用 git filter-branch 截断历史记录 这次瘦身只保留最近半年历史记录...所以要提前弄清楚有没有在截断节点之前早就创建出来一直在用分支,如果有就得特殊处理上面的2和3步骤了: 第2步中截断历史记录时候,要类似分析 master 分支那样分析其它需要保留特殊分支,找出各自截断节点提交...如何在 git batch 里面运行 git-filter-repo?...拷贝 git-core 文件夹里面; 此时在 git batch 窗口中,输入命令 git filter-repo(注意输入git后面没有-),会提示 No arguments specified

89251

Git工作流程:如何在团队中协作?

同时,也需要注意及时处理冲突,以避免分支之间差异过大,影响后续开发工作。 追溯历史记录: 查看Git仓库历史记录以及如何使用Git命令回退到早期版本。...同时,也需要注意小心操作,以免误删或丢失重要代码。 标签管理: 打标签以便于找到特定版本,也可以用于发布正式版本。...下面的代码展示了如何在Git中进行协作和同步: # 远程仓库克隆本地目录 $ git clone https://github.com/user/repo.git local_repo # 添加名为...同时,也需要注意及时备份本地代码和重要远程仓库,以避免数据丢失。 Git工作流程: Git集成团队日常工作流中,包括如何组织Git仓库、如何协作等。...# 本地branch_name分支修改推送到名为origin远程仓库 Git工作流程示例代码 下面的代码展示了如何在Git中进行简单协作和管理: # 克隆远程仓库本地 $ git clone

13510

BFG Repo-Cleaner - 快速清除Git提交历史中特定文件

现在你可以运行BFG来清理你仓库: $ java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git BFG更新您提交以及所有分支和标记...检查存储库以确保您历史记录已更新,然后使用标准git gc命令去除不需要脏数据, git现在这些脏数据视为多余需求: $ cd some-big-repo.git $ git reflog expire...--mirror标志,所以此推送更新远程服务器上所有引用): $ git push 此时,您已经准备好让每个人都抛弃旧repo副本,重新克隆新原始数据。...无论它们在您存储库中任何地方: $ bfg --replace-text passwords.txt my-repo.git 删除Git中所有名为'.git'文件夹或文件—保留文件名。...BFG是自由软件:您可以根据自由软件基金会发布GNU通用公共许可证、许可证第3版或(根据您选择)任何后续版本条款重新分发和/或修改它。

2.8K40

开发者应该知道 50 条最实用 Git 命令

分布式版本控制系统是帮助您跟踪您对项目中文件所做更改系统。 此更改历史记录保存在本地机器上,在出现问题时,您可以轻松地恢复项目的前一个版本。 Git使协作变得容易。...团队中每个人都可以在自己本地机器上保留正在开发存储库完整备份。然后,多亏了BitBucket、GitHub或GitLab这样外部服务器,他们可以安全地存储库存储在一个地方。...第一步是在项目根目录中本地初始化一个新Git repo。你可以使用下面的命令: git init 如何在Git中添加一个文件暂存区: 下面的命令向暂存区域添加一个文件。...同时, --oneline将把提交消息限制为一行。 git log --graph --oneline 如何在Git中显示提交日志所有分支: 执行与上面命令相同操作,但适用于所有分支。...git remote update 如何在Git中推送一个新分支一个远程repo: 如果要将分支推入远程存储库,可以使用下面的命令。

1.8K10

Git命令和操作

您在上面看到git commit命令已经在本地存储库中四个文件中提交了更改。...我想一次提交目录中所有更改。请参考下面的快照: ? 该命令提交工作目录中所有更改快照,但仅包括对跟踪文件修改,即,在历史记录某个时刻使用git add添加文件。...拉入导入提交到本地存储库,而拉入导出提交到远程存储库。 git push用途是本地更改发布中央存储库。...上述命令一种快捷方式是: git checkout -b [branch_name] 此命令创建一个新分支,并同时签出新分支。.../my-git-repo 隐藏未提交更改git status git stash git status 当您要重新应用“stash”ed更改时,请使用以下命令: git stash apply 就是这样

1.8K10

如何删除GIT仓库中敏感信息

前言 正常Git仓库中应该尽量不包含数据库连接/AWS帐号/巨大二进制文件,否则一旦泄漏Github,这些非常敏感信息会影响客户信息安全已经公司信誉。...公司可能其它还有相关规定,禁止私人邮件加入GIT仓库。如果违反这些规定,可能会面临辞退、高额罚款、或牢狱之灾等非常严厉惩罚。...由于Git正常操作流程,导致敏感信息一旦进入主分支,再怎么在新Pull Request中删除,也无能为力了。其它人都能在历史记录中查询历史记录配置。...这里我演示一个故意写满“敏感信息”Github仓库,然后一步一步演示怎么在历史记录中,删除“敏感信息”,以完成“脱敏”。...3.4 删除敏感文件夹 命令: bfg --delete-folders userSecrets --no-blob-protection userSecrets文件夹替换成你敏感文件夹即可。

3K61

Git 基础操作

提交更新找到暂存区文件,快照永久性存储 Git 目录 # 配置 # 变量存储位置 /etc/gitconfig 文件:系统上每一个用户及其仓库通用配置, # 查看所有配置以及她们所在文件 git...一些提交赋值当前所在位置(HEAD)下面 交互式rebase 如果不清楚想要提交记录哈希值,可以利用交互式 rebase rebase --interactive 或 rebase -i git...git cherry-pick targetCommitID # 摘取需要提交到 main 分支 修改过去某一次提交内容 rebase 思路: 先用 git rebase -i 提交重新排序...这种类型分支是从某个已经发布 tag 上创建出来并做一个紧急修复,而且这个紧急修复只影响这个已经发布 tag,而不会影响正在开发新 feature。...git reset 还支持三种标记,用来标记 reset 指令影响范围: --mixed 会影响暂存区和历史记录区,是默认选项 --soft 只影响历史记录区 --hard 影响工作区、暂存区和历史记录

29210

工作流一目了然,看小姐姐用动图展示10大Git命令

为什么当我在 master 上执行硬重启,force push 原分支以及 rimraf 我们 .git 文件夹时,我同事哭了?...我们执行 rebase 分支总是含有我们想要保留最新近修改!这样我们不会遇到任何合并冲突,而且可以保留一个漂亮、线性 Git 历史记录。 上面这个例子展示了在 master 分支上变基。...硬重置 有时候我们并不想保留特定提交引入修改。不同于软重置,我们应该再也无需访问它们。Git 应该直接整体状态直接重置特定提交之前状态:这甚至包括你在工作目录中和暂存文件上修改。 ?...提交 9e78i 还原了由提交 ec5be 引入修改。在撤销特定提交时,git revert 非常有用,同时也不会修改分支历史。...那我们就执行一次 git reset, HEAD 重新指向在 HEAD@{1} 位置。 ? 我们可以看到最新动作已被推送给 reflog。

1.2K10

看小姐姐用动图展示 10 大 Git 命令

为什么当我在 master 上执行硬重启,force push 原分支以及 rimraf 我们 .git 文件夹时,我同事哭了?...我们执行 rebase 分支总是含有我们想要保留最新近修改!这样我们不会遇到任何合并冲突,而且可以保留一个漂亮、线性 Git 历史记录。 上面这个例子展示了在 master 分支上变基。...Git 应该直接整体状态直接重置特定提交之前状态:这甚至包括你在工作目录中和暂存文件上修改。 Git 丢弃了 9e78i 和 035cc 引入修改,并将状态重置到了 ec5be 状态。...在撤销特定提交时,git revert 非常有用,同时也不会修改分支历史。...那我们就执行一次 git reset, HEAD 重新指向在 HEAD@{1} 位置。 我们可以看到最新动作已被推送给 reflog。

47720

g4e基础篇#4 了解Git存储库

Git 存储库看上去就是一个文件夹,只是在这个文件夹中不仅仅保存了所有文件的当前版本,也同时保存了所有的历史记录,这些额外信息都保存在当前文件夹下面的.git子目录中。...因为前面我们所描述git跟踪改动特殊方式 ,git可以在很小开销下保留非常复杂历史记录同时也由于这种跟踪方式,使得git可以通过改变链接指向方式随时切换当前目录中任何文件版本,从而实现了在同一套文件系统上切换分支功能...与集中式(CVCS)中心存储库不同,Git中心存储库与任何开发人员本地存储库都保留了一致代码变更,因此开发人员不必连接到中心存储库就可以完成获取历史记录,拉取分支,合并分支等操作;这给予了每一名开发人员离线工作能力...,同时允许每个人在本地创建自己分支结构进行尝试,在开发人员认为本地分支需要共享给其他人时候,他们可以本地分支推送至中心存储库,这样其他开发人员也可以获取这些共享更改。...小结 至此,我们已经可以获取一个Git存储库了,后面的篇章我们开始对它进行最基本代码修改,分支,合并,推送和历史记录查看等基本操作。

1.1K60

git 历史记录中彻底删除文件或文件夹

如果你对外开源代码中出现了敏感信息(例如你私钥上传到了仓库中),你可能需要考虑这个文件从 git 历史记录中完全删除掉。 本文介绍如何从 git 历史记录中彻底删除文件或文件夹。...---- 第一步:修改本地历史记录 彻底删除文件: 1 git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch...彻底删除文件夹: 1 git filter-branch --force --index-filter 'git rm --cached -r --ignore-unmatch WalterlvDemoFolder.../post/remove-files-or-folders-from-git-history.html ,以避免陈旧错误知识误导,同时有更好阅读体验。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后作品务必以相同许可发布

54120

Git - Git Merge VS Git Rebase

---- 概述 Git merge和Git rebase是两种不同版本控制工作流程,它们用于一个分支更改合并到另一个分支。...这个合并提交具有两个提交,一个来自当前分支,另一个来自要合并分支。这会保留分支完整历史记录,但可能会导致分支历史变得杂乱。...这会保持分支历史线性性,使得历史记录更加清晰。 历史记录清晰度: Git Merge:合并提交保留了分支完整历史记录,但可能会在分支历史中引入多余合并提交,使得历史记录变得复杂。...使用场景: Git Merge:通常用于合并公共分支(主分支)特性分支或合并多个并行开发特性分支主分支。它保留了分支完整历史记录,有助于跟踪分支演进。...选择哪种方法取决于你更关注保留完整历史记录还是保持历史记录清晰性。

25230

保姆级Git入门教程,万字详解

push git pull git log git tag 接下来,通过对 我博客 仓库进行实例操作,讲解如何使用 Git 拉取代码提交代码整个流程。.../0.0.1 当我们完成某个功能需求准备发布上线时,应该将此次完整项目代码做个标记,并将这个标记好版本发布线上,这里我们以 publish/0.0.1 为标记名并发布,当看到命令行返回如下内容则表示发布成功了...commit 放入当前分支,适用于待合并分支提交记录不需要保留情况 git merge --no-ff 默认情况下,Git 执行"快进式合并"(fast-farward merge),会直接...="2 weeks ago" 显示2周前开始到现在历史记录,其它时间可以类推 git log --before="2 weeks ago" 显示截止2周前历史记录,其它时间可以类推 git log...如果移动提交记录顺序,改变历史记录排序。

6.1K32

可以说是一门奶奶级Git入门教程了

push git pull git log git tag 接下来,通过对 我博客 仓库进行实例操作,讲解如何使用 Git 拉取代码提交代码整个流程。.../0.0.1 当我们完成某个功能需求准备发布上线时,应该将此次完整项目代码做个标记,并将这个标记好版本发布线上,这里我们以 publish/0.0.1 为标记名并发布,当看到命令行返回如下内容则表示发布成功了...commit 放入当前分支,适用于待合并分支提交记录不需要保留情况 git merge --no-ff 默认情况下,Git 执行"快进式合并"(fast-farward merge),会直接...="2 weeks ago" 显示2周前开始到现在历史记录,其它时间可以类推 git log --before="2 weeks ago" 显示截止2周前历史记录,其它时间可以类推 git log...如果移动提交记录顺序,改变历史记录排序。

1.7K40

前端常见面试题--初级版

提交:使用git commit命令暂存区更改提交到本地仓库,并添加提交信息。同步:使用git pull从远程仓库拉取最新更改,使用git push本地更改推送到远程仓库。...分支与合并:使用git branch查看分支,git checkout切换分支,git merge合并分支。解决冲突:在合并或拉取时出现冲突时,手动解决冲突并重新提交。...这个新提交包含了两个分支修改内容,它提交有两个,一个是源分支最新提交,另一个是目标分支最新提交。Merge操作保留了每个分支提交历史记录,可以清晰地看出哪些提交属于哪个分支。...Rebase:Rebase操作则是当前分支提交“移动”目标分支最新提交之后,并创建一个新提交历史记录。...Rebase操作会保留当前分支提交,但会改变它们提交顺序和提交,使得提交历史记录看起来更线性。

6910

Git 企业开发者教程

Git如何能够帮助我们更安全,高效发布? 在互联网上其实有很多Git教程,但是太过零散,不成体系,特别是没有考虑企业开发者所面临许多具体而实际问题。...为什么要使用版本控制系统 Git 分布式版本控制系统优势 Git 安装和设置 初始化Git存储库(Repo) 起步 1 – 创建分支和保存代码 起步 2 – 了解Git历史记录 起步 3 – 拉取请求...帮助你这个最棒版本控制工具在你复杂企业开发场景中使用起来。同时我们也探讨如何在大规模团队中引入git一些策略性思考。...在VSTS/TFS上创建Git仓库 迁移已有代码库Git仓库,:SVN,TFVC Git服务器权限管理 Git分库规则 大规模团队Git配置管理流程 使用Git支持敏捷/瀑布式开发流程 Git与持续交付...本系列教程将使用Markdown编写,同时发布于 DevOps 文档中心, DevOps公众号和博客,并且文档和所有的示例代码都将通过GitHub开源提供给社区。

1.9K100

肝了几夜 Git 图解来了

push git pull git log git tag 接下来,通过对 我博客 仓库进行实例操作,讲解如何使用 Git 拉取代码提交代码整个流程。.../0.0.1 当我们完成某个功能需求准备发布上线时,应该将此次完整项目代码做个标记,并将这个标记好版本发布线上,这里我们以 publish/0.0.1 为标记名并发布,当看到命令行返回如下内容则表示发布成功了...commit 放入当前分支,适用于待合并分支提交记录不需要保留情况 git merge --no-ff 默认情况下,Git 执行"快进式合并"(fast-farward merge),会直接...="2 weeks ago" 显示2周前开始到现在历史记录,其它时间可以类推 git log --before="2 weeks ago" 显示截止2周前历史记录,其它时间可以类推 git log...如果移动提交记录顺序,改变历史记录排序。

25030

Git 从入门放不下

/0.0.1 当我们完成某个功能需求准备发布上线时,应该将此次完整项目代码做个标记,并将这个标记好版本发布线上,这里我们以 publish/0.0.1 为标记名并发布,当看到命令行返回如下内容则表示发布成功了...标签(Tag) 标签是用于标记特定点或提交历史,通常会用来标记发布版本名称或版本号(:publish/0.0.1),虽然标签看起来有点像分支,但打上标签提交是固定,不能随意改动,参见上图中...="2 weeks ago" 显示2周前开始到现在历史记录,其它时间可以类推 git log --before="2 weeks ago" 显示截止2周前历史记录,其它时间可以类推 git log...reset 当前分支重设(reset)指定 或者 HEAD git reset --mixed --mixed 是不带参数时默认参数,它退回到某个版本,保留文件内容...如果移动提交记录顺序,改变历史记录排序。

2.2K31

Git 从入坑放不下

/0.0.1 当我们完成某个功能需求准备发布上线时,应该将此次完整项目代码做个标记,并将这个标记好版本发布线上,这里我们以 publish/0.0.1 为标记名并发布,当看到命令行返回如下内容则表示发布成功了...标签(Tag) 标签是用于标记特定点或提交历史,通常会用来标记发布版本名称或版本号(:publish/0.0.1),虽然标签看起来有点像分支,但打上标签提交是固定,不能随意改动,参见上图中...git merge 将其它分支合并到当前分 git merge --squash 待合并分支上 commit 合并成一个新 commit 放入当前分支,适用于待合并分支提交记录不需要保留情况...="2 weeks ago" 显示2周前开始到现在历史记录,其它时间可以类推 git log --before="2 weeks ago" 显示截止2周前历史记录,其它时间可以类推 git log...如果移动提交记录顺序,改变历史记录排序。

1.4K30
领券