关于filter-branch

关于filter-branch

看完也没懂。。。
也没找到老师这个对应的工程在哪里没法验证。。。

图片描述

  1. --tree-filter后面跟的是一段shell脚本命令在每个提交历史里都会执行?还是说按老师的意思似乎是只会在和我们要修改的那个文件有关联的历史中才会执行?
  2. 如果是第二种,那么问题来了它怎么知道 “我们要修改的那个文件”?我们只是在 --tree-filter 后接了一段普通的shell脚本啊,难道 tree-filter 还智能的扫描了我们这段脚本知道它做了撒??
  3. –prune-empty 这里做了撒?
  4. –tag-name-filter cat 又做了撒?
  5. 上图黄框部分又为什么要转译?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
Brian 2023-08-14 23:38:10

看完也没懂。。。——再看一遍。


也没找到老师这个对应的工程在哪里没法验证。。。——自己创建一个工程后,使用git进行提交多次,然后尝试修改其中第1次或者第2次的提交。


  1. --tree-filter后面跟的是一段shell脚本命令在每个提交历史里都会执行?还是说按老师的意思似乎是只会在和我们要修改的那个文件有关联的历史中才会执行?——每个,但是会过滤对应的分支,因为使用了tag-name-filter参数 

  2. 如果是第二种,那么问题来了它怎么知道 “我们要修改的那个文件”?我们只是在 --tree-filter 后接了一段普通的shell脚本啊,难道 tree-filter 还智能的扫描了我们这段脚本知道它做了撒??——你没有看到filePath吗?filePath即是我们需要修改的文件路径。

  3. –prune-empty 这里做了撒?——删除由于重写而变为空的提交

  4. –tag-name-filter cat 又做了撒?——过滤分支名,这个视频中有讲

  5. 上图黄框部分又为什么要转译?——你可以注释掉,然后再试试,你会发现bash语法对于'与"还有`,这三个符号不能直接输出,需要转义


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端高级工程师(大前端)
  • 参与学习       303    人
  • 解答问题       391    个

全新打造“技术成长&职业破局”双高体系,深度打通“全栈 + 全流程 +多端+ 提效+AI赋能”,递进式锤炼思维与高阶技能,高效实现能力跃迁,助力成为“驾驭全局,深广兼备,打通多端全栈”的高级工程师

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师