稀疏签出后过滤 git 提交历史记录

2023-12-08

git repo 下有几十个文件夹;但我只与其中之一合作。所以,我不想知道其他文件夹下的项目发生了什么。 我从远程签出了一个启用了稀疏签出的分支,现在我本地只有一个文件夹;但使用 gitk 时我仍然可以看到完整的提交历史记录。我在交互式变基期间进行一些更改时也看到了它。

我的问题是:是否可以以某种方式清理(过滤)提交历史记录,以便我在变基时只看到与特定文件夹相关的历史记录?想法是以同样的方式使用存储库,就好像它只包含一个文件夹一样。

Thanks


对于读取操作,通常可以通过传递路径选项来获得所需的内容。

git log -- ./the_one_folder

or

gitk -- ./the_one_folder

但对于写入操作(例如变基),没有通用方法可以执行您所描述的操作。如果您将所有内容都提交给一个大历史记录,那么该历史记录本质上就是每次提交的一部分。所以你有一个改变的提交the_one_folder,即使它的父级没有更改父级是提交的一部分的同一文件夹中的任何内容,并且您不能“就好像它不存在一样”进行变基。

您可以执行变基操作,删除您不关心的所有提交,但随后这些提交将从您要变基的分支中删除。因此,基本上,您必须为您的目录拥有一组分支,并为下一个人处理的下一个目录拥有一组分支,如此循环往复。

一旦你这样做了,你就会开始觉得你应该将每个项目放在自己的存储库中。这是事实。在 git 中,你不应该将一堆项目塞进同一个存储库中。如果您有时确实需要将跨项目的变更关联起来,有一些方法可以解决这个问题;但听起来至少在大多数情况下它们是独立的,所以如果你不想要一堆混乱的历史记录,你应该考虑转移到单独的存储库。

有一种方法可以创建“只是您的项目”的历史记录 - 意识到这只有在您确实迁移到单独的存储库(或至少是单独的命名空间引用集)时才真正有用,但这只是一种更复杂的方法同样的事情,为什么?)因为一旦完成,对单独历史记录的更改将不再反映在合并历史记录中。

git filter-branch --subdirectory-filter the_one_folder --prune-empty -- --all
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

稀疏签出后过滤 git 提交历史记录 的相关文章

随机推荐

  • 当用户按下设备音量键时,搜索栏拇指位置发生变化

    我使用搜索栏来控制设备的音量 我只需在触摸板上拖动搜索栏的拇指即可更改设备的音量 但是当用户按下音量 侧面 键时 我需要相应地设置搜索栏拇指位置 我该怎么做 请告诉我 Thanks 我通过重写 onkeydown 事件得到了解决方案 Ove
  • Pygame set_alpha 不适用于尝试的背景淡入淡出

    我一直在尝试创建一个简短的代码 用于可以淡入和从黑色淡出的项目 但由于某种原因 只有淡入功能在工作 而淡出功能或多或少被跳过 通过给他们参数 我确认问题出在第二个函数中 并且透明度根本没有改变 这是我的代码 import pygame sc
  • 未找到带点(IP 地址)的路由,返回 404

    I use Lumen 5 4 这就是我的路线设置方式 app gt get ip ip GeoIpController class show The ip 路由参数应该是一个IP地址 其中带点 然而 当路线中有点时 似乎就会出现问题 它返
  • CharBuffer 位于内存映射的 ByteBuffer 之上,无需使用大量堆空间

    我正在编写一个java代码来在一个大的txt文件 6 8Gb 中搜索电子邮件地址和密码 我已经编写了代码 它可以处理 200Mb txt 文件并给出输出 但是当我输入 500Mb 文件时 它显示以下错误 Exception in threa
  • TensorFlow:“ValueError:没有为任何变量提供梯度”

    我正在张量流中实现 DeepMind 的 DQN 算法 并在我调用的线路上遇到此错误optimizer minimize self loss ValueError No gradients provided for any variable
  • PHP 表单 - 提交时停留在同一页面

    我有一个位于文件中的 PHP 表单contact html 该表格是从文件处理的processForm php 当用户填写表单并单击提交时 processForm php发送电子邮件并引导用户至 processForm php该页面上有一条
  • 将多个 IIS7 重写规则(重定向)合并为一个

    我使用iis7的URL重写模块来完成几件事 301重定向规则从非www到www 301 将规则 info 重定向到 com 已移至我的域的 com 版本 301 从旧页面重定向规则 例如 page name asp 改为 page name
  • Android Facebook 风格幻灯片

    新的 Facebook 应用程序及其导航非常酷 我只是想看看如何在我的应用程序中模拟它 任何人都知道如何实现它 单击左上角按钮后 页面会滑动并显示以下屏幕 Youtube 视频 我自己尝试过这个 我能找到的最好方法是使用 FrameLayo
  • 如何在 ruby​​mine 中停止/终止服务器(开发)

    这里是新手 我在 ruby mine 中创建了一个 Rails 项目来运行公共文件夹中的默认 index html 我按下了 shift F10 键 这与终端的 Rails 服务器相同 这就是我得到的 home bubble rvm rub
  • Java:转义 XML 文本内容而不是整个文本

    我想发送下面的 XML 请求 文本内容应该被转义 但标签不应该被转义 我试过了使用下面的转义逻辑 String str escapeXml11 req 然而 我的整个请求都被逃脱了 因此 它不再是有效的 XML 我原来的字符串 String
  • 在 Flexbox 中组合行和列

    我有三个元素article 照片 类别 然后是帖子信息 我试图弄清楚如何让类别元素堆叠在帖子信息列的顶部 2 在 3 的顶部 如果您正在查看所附照片 因此它看起来像两个 50 的列 即使有是三个弹性元素 flexbox display fl
  • 如何更改 gWidgets RGtk2 中鼠标光标的形状?

    在gWidgets中的ggraphics绘图区域中 将鼠标光标更改为 GDK TCROSS 但我想要与gwindow GDK LEFT PTR 相同的鼠标光标 library gWidgets library gWidgetsRGtk2 l
  • 球拍中的树形折叠

    我是 Racket 的初学者 我有这样的问题 定义一个结构 node 其中包含以下字段 value left middle right 该结构表示树结构中的节点 这些字段包含存储在节点 左子树中的值 分别为中子树和右子树 如果一个子树 不存
  • EntityFramework Core 自动迁移

    有没有代码可以实现自动迁移Entity Framework core code first在 asp net core 项目中 我只是在 MVC4 5 中添加 Database SetInitializer new MigrateDatab
  • Python 向量化嵌套 for 循环

    我希望能够帮助您找到和理解一种 Pythonic 方法来优化嵌套 for 循环中的以下数组操作 def func a b radius Return 0 if a gt b otherwise return 1 if distance eu
  • 在 Laravel Post 中授权资源控制器不起作用?

    我创建了一个 ProductPolicy 其中有
  • PHP:将表单中的值插入 MySQL

    我创建了一个users表中mysql从终端 我正在尝试创建简单的任务 从表单插入值 这是我的dbConfig file 这是我的Index php
  • Android Telegram 应用程序 --> java.lang.UnsatisfiedLinkError: 未找到 void 的实现

    不幸的是 几周前 Stackoverflow 上删除了一个类似的问题 我必须提出一个新问题 我正在尝试通过源 为Android构建一个自己的Telegram应用程序https github com DrKLO Telegram 我无法让它工
  • 如何使用选项字典关闭 Swift 中的 Core Data Write-Ahead 日志记录?

    如何使用 Apple 新编程语言 Swift 关闭 Core Data 中的 SQLite 预写日志记录 WAL 在 ObjC 中 我曾经在选项字典中传入键值对 journal mode DELETE storeCoordinator ad
  • 稀疏签出后过滤 git 提交历史记录

    git repo 下有几十个文件夹 但我只与其中之一合作 所以 我不想知道其他文件夹下的项目发生了什么 我从远程签出了一个启用了稀疏签出的分支 现在我本地只有一个文件夹 但使用 gitk 时我仍然可以看到完整的提交历史记录 我在交互式变基期