将 git 存储库中的一组文件拆分到自己的存储库中,保留相关历史记录[重复]

2023-12-10

可能的重复:
如何在保留子目录的同时拆分 git 存储库?

有一次,我将我的代码添加到了现有的 git 存储库中,并从那时起就对其进行了很多承诺,而另一位开发人员则致力于存储库中的其他现有文件。现在我想将我的代码拆分到自己的存储库中,但保留我的特定文件的所有更改历史记录。

阅读其他人为拆分代码所做的工作,我正在查看filter-branch和做--index-filter or --tree-filter with rm我不关心的文件的命令。我不想使用--subdirectory-filter因为将保存我的代码的子目录作为顶级目录是不合适的(我们也共享一个子目录)。使事情变得复杂的是,原始存储库中的一些文件随着时间的推移发生了一些移动,并且有些文件被创建然后被删除。这使得设计 rm 列表有点……具有挑战性。

我正在寻找一种方法来过滤除文件/目录列表之外的所有内容。有人知道有办法做到这一点吗?


只是为了关闭此循环,使其显示为已回答。

通过使用index-filter or tree-filter然后应用反向逻辑,例如git ls-tree通过管道输送到(多个)grep -v被输送到xargs for git rm您确实可以删除与一组狭窄的文件名/目录不匹配的所有内容。这是我用来拆分特定文件的命令:

git filter-branch \
    --prune-empty \
    --index-filter '
        git ls-tree -z -r --name-only --full-tree $GIT_COMMIT \
        | grep -z -v "^src/pyfedpkg$" \
        | grep -z -v "^src/fedpkg" \
        | grep -z -v "^git-changelog" \
        | xargs -0 -r git rm --cached -r
    ' \
    -- \
    --all
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 git 存储库中的一组文件拆分到自己的存储库中,保留相关历史记录[重复] 的相关文章

  • 返回到 Github Desktop 中的上一个提交

    我正在尝试使用 GitHub Desktop 即 GUI 应用程序 而不是命令行 返回到先前的提交 在同一分支上 我认为这是一个核心功能 因为它是首先使用源代码控制的主要原因 我可以看到可以恢复提交 但这并不是我真正想要的 因为它创建了一个
  • 无法从另一台计算机访问 git 分支

    基本上我看不到另一台计算机上的分支 我跑 git branch a 在家用电脑上我得到 C learn ror sample app filling in layout gt git branch a filling in layout m
  • git filter-repo:它可以在特定分支上使用吗?

    我正在读什么git filter repo可以做 因为我想用它做一个小实验 我有这个存储库 我只想从中获取一个目录的历史记录 比如说 master 但我不想为主人工作 我想创建一个新分支 例如filter repo test然后让git f
  • 在 git 中管理 schema.rb 的首选方法是什么?

    我不想添加schema rb to gitignore 因为我希望能够从该文件加载新的数据库架构 然而 保持检查状态会导致各种虚假冲突 而这些冲突很容易通过新的解决方案解决 db migrate reset 基本上我想要一种方法 将 sch
  • 如何在没有本地存储库的情况下在远程运行 git 命令

    我有一个名为 git export 的脚本 它可以帮助我导出远程存储库 它是这样运行的 git export http host com git repo lt t tag or b branch or c commit gt local
  • Git 与人工制品

    刚刚完成 NPM 和 Bower 的 Artifactory 设置 它非常容易使用 您只需更改存储库 URL 一切就正常了 查看有关如何让 Artifactory 与 github vcs 一起使用的文档 它看起来过于复杂 我想知道是否有人
  • GitHub - 指定时间的存储库状态

    我是使用 git 版本控制工具的初学者 我想在指定时间 例如 2013 年 10 月 5 日 下载存储库状态 文件 我怎样才能做到这一点 截至 2019 年 5 月 不确定何时引入 您可以简单地按以下格式添加日期 HEAD 2019 04
  • 在 git 中记录前 10 个

    两个问题 如何从头到尾显示 git 中的前 10 个提交 无分行 如何指定提交索引并记录它 显示第二个或第三个 我知道 git 使用父级来链接提交 很容易从头到尾记录提交 喜欢 git log HEAD 10 但我需要从头到尾查询 可以吗
  • 如何将一个文件存储库上传到 Gist,并保留历史记录?

    我的计算机上有一个包含单个文件的 Git 存储库coins py 我如何才能将其作为 Github 上的要点来保存历史 这其实很简单 您可以将现有历史记录移动到 Gist 存储库中 就像将其移动到任何其他存储库中一样 创建要点 只需输入一些
  • 如何使用 git-tfs 清理损坏的历史记录

    我不确定我是如何进入这种状态的 但我的 tfs 默认远程分支中有一些 TFS 中不存在的提交 所以我想摆脱它们 所以我的历史是这样的 A B C D tfs default 但提交 B 和 C 实际上并不是 TFS 中的变更集 因此 当我签
  • git checkout HEAD -- 和有什么区别?和 git reset --hard HEAD?

    我已经查看了这个 stackoverflow 链接 但我认为我所要求的之间的细微差别是使用HEAD在结账命令中 因为他们的建议似乎不起作用 git reset hard HEAD 和 git checkout 之间有区别吗 https st
  • 如何更改全局 git 设置以在拉取期间进行 git 合并

    目前 我的全局设置设置为在 git pull 期间执行变基操作 我希望它默认将其更改为 git merge 如何更改此设置 TL DR git config global pull rebase false 有点细节 Git 使用配置pul
  • Git-svn:批量删除孤立的远程分支

    我正在处理的 SVN 项目 通过 git svn 有经常创建的分支 然后与主干重新集成 然后删除 现在项目大约有10个分支没有被删除 但是在git中 gitbranch r显示大约有50个 我可以一次删除这些 检查它们是否仍然存在于 svn
  • 将代码从没有权限的存储库推送到私有存储库?

    我有一个来自外部存储库 我们称之为 ExRepo 的文件夹 我没有任何推送权限 我有一个名为 MyOwnRepo 的个人存储库 如何获取 ExRepo 并将其合并到 MyOwnRepo 中 我已经尝试过这个 C Users
  • Mac 到 EC2 - 源代码控制三角问题 - git?同步?啥?

    我有一个日常 EC2 实例 事实上 请注意那些更改IP每次重新启动它们时 都会出现另一个问题 实例上有一个文件夹 我在文件夹 mysql express 等 中有一个简单的 比如说 节点项目 比方说 这是一个网站 那么在我的 Mac 上进行
  • 将存储库从 Github 移至 Gitlab

    有没有办法将整个存储库从 Github 移动到 GitLab 对于代码本身来说 只需在 GitLab 上创建一个新的存储库并推送到它即可 Wiki 页面位于 Github 上的单独分支中 并通过 Git 机制进行管理 据我所知 GitLab
  • 如何更新我的裸存储库?

    我创建了一个裸存储库来发布我的存储库 但我不知道如何使用主存储库的当前状态更新裸存储库 如果您想复制主存储库中的所有对象 请在主存储库中执行此操作 git push all
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • 如何修复 Centos 上的 Git Segmentation 错误

    我收到分段错误错误 无法在服务器上提取代码 Centos 7 这就是我遇到错误的方法 通过使用以下命令来验证我的服务器是否使用 bitbucket 进行身份验证 ssh T email protected cdn cgi l email p
  • 如何将 tfvc 迁移到 Git(包括历史记录)

    我们计划从 tfvc 迁移到 Git 版本控制 我们有一些 GB 的代码和数千个变更集 我阅读了一些文章并浏览了 Microsoft 文档 发现了 2 个选项 提示迁移 我可以在其中使用 Azure Devops 内置工具 导入存储库 它有

随机推荐

  • 在应用程序之间发送套接字c#

    我想知道是否有一种方法 您有一个 net 应用程序名称 appA 它接收 tcp 套接字连接 然后根据某些规则将套接字连接发送到另一个 net 应用程序名为 appB 我知道这违反了很多安全和良好实践 但如果可能的话会很有趣 Proxy 一
  • 动态 LiveTile - 添加背景图像?

    在我的 Windows Phone 7 应用程序中使用动态磁贴 效果非常好 我现在正在尝试创建动态动态图块 但无法显示背景图像 当使用下面的代码时 我只得到一个黑色的瓷砖 显示我添加的文本 但不显示背景图像 图像 构建操作 设置为 内容 有
  • WPF 背景两种色调

    我正在尝试做一些如此简单的事情 但无法取得任何成果 我一直在网上搜寻 试图找到一个清晰的示例或少量信息 但我找到的每一篇文章都显示了完全相同的简单示例 我想要做的就是为列表框项目设置一个背景 该背景是两种色调 但它们之间没有渐变混合 到目前
  • Pandas 合并两个具有不同列的数据框

    我肯定在这里错过了一些简单的东西 尝试合并 pandas 中几乎具有相同列名的两个数据框 但右侧数据框有一些左侧没有的列 反之亦然 gt df may id quantity attr 1 attr 2 0 1 20 0 1 1 2 23
  • 如何重定向 cron 脚本的完整输出

    我每天 18 35 运行一个简单的 cronjob 05 18 job sh 2 gt 1 gt gt job log 所以 job sh 的输出应该写入 job log 中 在job sh中 有一些echo命令和一些python脚本被执行
  • 如何使用正则表达式验证 JTable 的第一列?

    我正在编写一个程序 我必须验证第一列是否是 IP 地址 到目前为止 我只弄清楚如何找到如何过滤行 但在将数据写入文件之前必须检查该列 有人可以帮助我吗 您可以使用InputVerifier验证表格单元格的输入 这样你就不必验证一切after
  • 重新协商速率限制

    有谁知道在哪里以及如何设置此限制 这是关于 SSL TLS 连接的 如果您使用 OpenSSL 并且希望在一定字节数后进行重新协商 您可以使用BIO set ssl renegotiate bytes 如果您希望它在经过一定时间间隔后发生
  • Kotlin 转换双精度?至双倍

    我使用 Mapbox 开发地图应用程序 我正在使用的方法使用 Point Double Double 需要获取类型不匹配 找到双倍 双倍 val lat locationComponent lastKnownLocation latitud
  • 如何动态创建选项卡

    这是 C 中的 我基本上需要从 textbox Text 制作 TabPages 例如 textBox1 Text test TabPage textBox1 Text new TabPage 这就是我想要做的 我知道这不会直接工作 但这应
  • 带复选框的自定义列表视图 - 滚动时检查状态互换

    我使用带有复选框的自定义列表视图 滚动列表视图时 选中状态会互换如何控制互换并将其设置为默认值 即我选择的选中项目 代码供你参考 public View getView int position View convertView ViewG
  • 将时区名称转换为时间 ID:s

    我发现 iOS 框架不理解正确的时区名称 例如 东部标准时间 如果您输入 NSLog EST NSTimeZone timeZoneWithName Eastern Standard Time 你得到 美国东部时间 空 相反 您必须使用时间
  • 即使 RS 未完全满,是否也可能发生 RESOURCE_STALLS.RS 事件?

    的描述RESOURCE STALLS RSIntel Broadwell 的硬件性能事件如下 此事件对由于缺少合格条目而导致的停顿周期进行计数 在保留站 RS 这可能是由于 RS 溢出造成的 或者 由于 RS 阵列写入端口分配而导致 RS
  • 如何为 ggboxplot() 添加紧凑的字母显示?

    我正在尝试在我创建的箱线图中添加紧凑的字母显示 是否有机会结合cldList 功能与ggboxplot 这是我的示例数据 library FSA library multcompView library rcompanion library
  • 如何在Windows(Phone)8.1的BackgroundTask中使用SQLite

    Setup 我跟着带有 SQLite 示例的通用应用程序 to add SQLite到我的项目 然后添加BackgroundTask我跟着快速入门 创建并注册后台任务示例 Problem SQLite 的目标是Windows Phone 8
  • 动态改变 CSS 内容属性

    我的一个朋友正在从一家公司租用一个网上商店 他能够从不同的模板中进行选择 并且能够覆盖预定义的 CSS 并添加 javascript 片段 他要求我帮助她进行一些更改 但有一些我无法处理的事情 添加到购物车 按钮 在下面的 CSS 中 有一
  • 是否可以创建一个完全独立的 Python 包?

    问题 Ansible 是一个 python 模块 可通过 pip 安装 它依赖于几个依赖项 还有 pip 模块 是否可以将所有这些依赖项和 Ansible 本身 汇总 到某种单一包中 无需 root 即可离线安装 最好不需要 pip 进行安
  • 如何可靠地获取 Outlook 2013 插件中联系人上下文菜单的对象?

    我正在向上下文菜单添加一个条目Contact在 Outlook 2013 中如下本文中的示例 这是 XML
  • 在 CMAKE 自定义命令中运行 objcopy 会导致 make 期间出错

    我正在尝试向一个小项目添加一个构建后命令 该命令将自动获取我的构建输出文件 ELF 并将其转换为 Intel HEX 格式 以便在微控制器上闪烁 然而 当我添加此命令时 构建失败 它使用 shell 运行的所有替换的 CMake 变量字符串
  • 适用于大型和可扩展应用程序的数据库表结构

    我是一名软件工程师 几个月前就开始学习 为了我的工作 我开发了一个大型可扩展的 Web 应用程序 另一家公司负责编程工作并制作其背后的数据库 我们定义了数据以及它们之间的关系 但没有给出他们应该使用的硬数据库结构 现在第一个 内部 东西是可
  • 将 git 存储库中的一组文件拆分到自己的存储库中,保留相关历史记录[重复]

    这个问题在这里已经有答案了 可能的重复 如何在保留子目录的同时拆分 git 存储库 有一次 我将我的代码添加到了现有的 git 存储库中 并从那时起就对其进行了很多承诺 而另一位开发人员则致力于存储库中的其他现有文件 现在我想将我的代码拆分