Git 命令以编程方式将文件的一系列行添加到索引?

2024-06-23

我想要一个命令可以让我做类似的事情:

git manual-add some_file.txt 10..20

这相当于:

git add -p some_file.txt

并说y仅包含第 10 行到第 20 行的大块。

是否有内部 git 命令可以让我执行此操作?有没有any怎么办?


您可以利用git add -e命令并将脚本作为编辑器传递给它(在下面的示例中,它被命名为filterpatch),它将根据您的要求编辑补丁(请参阅文档中的“编辑补丁”部分git add https://git-scm.com/docs/git-add):

EDITOR="filterpatch 10..20" git add -e some_file.txt

为了方便起见,您可以添加 git 别名,如下所示:

git config alias.manual-add '!EDITOR="filterpatch $2" git add -e $1; :'

一个傻子的例子filterpatch前面加上一个脚本foo补丁指定范围内所有添加行的前缀:

#!/bin/bash -x

sed -i "$1 s/^+\([^+]\)/+foo \1/" "$2"

使用示例:

git manual-add some_file.txt 13,16

所以剩下的部分是关于实现filterpatch正确编写脚本 - 它必须解析差异并取消选择不属于目标范围的块。

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

Git 命令以编程方式将文件的一系列行添加到索引? 的相关文章

  • Git 将新的本地分支推送到远程,无需指定名称

    当针对特定的跟踪问题进行补丁修复时 我们的工作流程如下所示 1 git checkout patch git pull upstream patch make sure we re up to date 2 git checkout b i
  • Git 从不同的存储库中提取分支

    我当前的存储库中只有几个文件 我想合并来自不同存储库的远程分支 从中拉出并合并一个分支github com username code git 分支装载机 然后从中拉出并合并一个分支github com username code git
  • 是否可以在不从 git 克隆或拉取的情况下获取分支名称?

    我想获取 git 存储库的所有分支名称 目前 我克隆存储库 然后将它们获取到本地计算机上 这是低效的 因为我所需要的只是名称而不是其他 我想知道是否可以这样做 如果是这样 我可以使用什么命令 在本地 无需克隆 您可以键入 使用 gitls
  • 如何找出在哪个提交中添加了特定代码?

    我想知道我在哪个提交中添加了下面给出的代码 if getListView getChildCount 0 getActivity findViewById android R id empty setVisibility View VISI
  • git checkout 裸露,并在接收后包含子模块

    如何在包含子模块的接收后挂钩中检出服务器上的裸存储库 我目前将其作为接收后挂钩 bin bash http blog ekynoxe com 2011 10 22 git post receive for multiple remote b
  • Emacs shell:保存提交消息

    我几天前开始使用 emacs 在 emacs shell M x shell 中使用 git 时遇到问题 当我 git commit 或 git commit amend 时 它会打开 vim 来编辑并保存提交消息 我对此表示同意 但我找不
  • Git:从远程获取特定对象

    在工作中我们必须应对一个非常庞大的 git 存储库 90Go 在尝试调整本地副本上的一些内容后 我的包文件出现错误 尝试解压它 我可能删除了一些目标文件 例如 gt git GC 错误 无法读取 af9ed8 snip 致命 坏树对象 af
  • Git 粒度——解决一行内的差异

    git 基于行的粒度或 diff 粒度是否可以增加到单词 字母分辨率 每行多条语句或使用 git 编写纯文本是值得的 根据评论重新阅读问题时 我想我明白了您最初的意思 所以我将给出一个真正的答案 与伊斯梅尔 巴达维的一行评论 https s
  • dulwich - 从远程仓库身份验证克隆

    我找不到有关此主题的任何资源 我需要通过提供用户名和密码从私有存储库进行克隆 然而 当它们作为关键字参数提供给 dulwich get client from path 时 会出现错误 提示 未知参数 用户名 这似乎是一件简单的事情 但我找
  • 如何使用 GitLab 管道中的密钥通过 SSH 连接到目标服务器?

    当 GitLab 管道成功时 我想通过 SSH 使用公钥连接到服务器 正如我所看到的 我需要在 GitLab 端使用 ssh keygen 生成一个密钥并将其添加到我想要连接的服务器上 我可以在管道期间生成密钥 但由于公钥未添加到目标服务器
  • 从子文件夹自动部署 Heroku

    我知道你可以从github自动部署到heroku 但我还没有找到一种方法只将子文件夹从github推送到heroku 从命令行我知道可以通过以下方式执行此操作 git subtree push prefix
  • 如何防止自动工具自动重新生成配置脚本?

    有时由于SCM没有严格记住文件的时间戳 生成的Makefile会认为需要重新运行 autoreconf i 或相当于从Makefile am重新生成Makefile in 从configure ac重新生成配置等 我该如何防止这种情况 我想
  • 使用 git 同时维护不同版本的代码

    我有一个需要优化的代码 我想同时维护一组版本的代码 每个版本可以描述为一些功能 优化的组合 最终 我将决定哪个版本是最好的 我不想将这些版本合并为更少的版本 但是 我希望能够对 大 源文件进行 小 修改 这可能会跨版本转移 并且我希望这一修
  • 在“git revert --continue”期间绕过预提交挂钩

    我当时正在做一个git revert 之前的恢复 这导致了一些合并冲突 解决冲突后 我的预提交挂钩引发了一些代码嗅探器问题 由于这些代码嗅探器通知已在其他地方修复 我想在此时使用绕过预提交挂钩git revert continue no v
  • 查看单个文件历史记录的“x”提交的完整文件差异(托管在 git 中)

    假设我在 git 中有一个名为filex code 我想看看完整代码最后的x该文件的版本每个更改的部分都突出显示 全部集中在一处 所以一个x 窗格提交历史记录filex code 几乎就像我在做一个x paned diff 但查看历史版本而
  • git 压缩并保留上次提交的时间戳

    考虑我有提交 A B C 如果我使用git rebase i将所有三个提交压缩为一个 我们可以 pick A squash B squash C 我看到结果提交A有其原始时间戳 如何让它继承提交的时间戳C 最后一个 我能想到的是git co
  • 在接受提交之前在 git 中强制执行代码标准

    好吧 场景如下 开发团队希望确保所有新代码都符合定义的编码标准 并且在接受提交之前所有单元测试都已通过 诀窍是 所有测试都需要在专用测试机器上运行 并且我们无权修改 git 服务器 因此必须在每台开发机器上使用本地提交挂钩来完成 虽然规范非
  • gitk中正则表达式的格式是什么?

    我正在尝试使用 gitk 中的 find 添加 删除字符串 正则表达式选项 我尝试过的语法不起作用 并且我找不到描述它接受的正则表达式语法的文档 我正在尝试匹配两者Modem Wakup and Modem UnWakeup 两者都不Mod
  • 用于从两台机器进行开发的 Git 存储库设置?

    我刚刚开始使用 git 对与 SVN 的工作流程差异印象深刻 但我遇到了一个结构 设置问题 文档似乎没有直观地解释如何设置 我想知道是否这甚至是可能的 我的设置是 我有几台计算机 台式机和笔记本电脑 进行开发 因此 为了更轻松地保持同步并为
  • 构建、部署、配置和回滚所需的 Jenkins 指南,保留 5 个版本

    我对詹金斯很陌生 有一定的了解 但需要进一步的指导 我在 Git 存储库上有一个 PHP 应用程序 它使用 Composer 具有资产 具有用户上传的媒体文件 使用 Memcache Redis 具有一些代理 工作人员 并且具有迁移文件 到

随机推荐

  • css按钮活动状态导致文本移动?

    我正在为我正在开发的新网站制作一些粗略的示例 由于某种原因 firefox 最新 中的后两个按钮将稍微移动文本 就像在进入活动状态时实现单击动画一样 为什么第一个按钮不会也遇到这个问题 下面的代码 fieldset style width
  • Haskell 如何将整数文字转换为不同类型?

    我有以下匿名函数 Exercises gt g Sum n gt Sum n 1 我这样使用它 Exercises gt g Sum 56 Sum getSum 55 Exercises gt g 56 Sum getSum 55 第二个例
  • PHP 方法链接:PSR 是否指定箭头对齐?

    如果链应该仅从类与方法开始对齐 是否有任何严格的要求 仅使用对齐的方法进行链接 this gt fooService gt doBar gt doBaz 上面的示例显示了方法内的对齐 链接所有东西都对齐 this gt fooService
  • 在 macOS 上的 SwiftUI 中将颜色从源拖放到目标

    如何将颜色从源拖放到目的地并保留它 我目前的代码可以临时执行此操作 从源拖动时更改目标的颜色 但在鼠标松开时它会很快变回原样 那么 如何才能使颜色更改保持在鼠标悬停在特定单元格上的状态 并且能够在将来将鼠标悬停在该特定单元格上拖动时再次更改
  • 根据文本获取每个 div 内的文本值

    我有这个结构 table tr td div div some text div div div div div This text is good div div some text2 div div some text3 div div
  • java Visual VM如何连接到eclipse java任务

    I want to use java VisualVM to monitor the performance of my JAVA APP but Java VisualVM can not get the detail data of t
  • [UIImageView _isResizable]:无法识别的选择器发送到实例 SIGABRT

    我有这段代码试图在一个周期中运行一组简单的图像 我在应用程序中拥有的只是在视图控制器的 h 文件中声明的一个 UIImageView property strong nonatomic IBOutlet UIImageView imageD
  • 将 ActionMailer 与公司 Gmail 帐户结合使用

    我不确定这是否属于服务器故障 或者如果在其他地方更有意义 请随意将其移动 我已经看到了设置 smtp 设置以及将 ActionMailer 与 Gmail 结合使用的示例 并确认它们对我有用 基本上对我来说是这样的 config actio
  • 研究环境中的软件项目和开发[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 当您或项目不清楚最终 如果有 产品是什么时 可以采取哪些有用的策略 让我们将 研究 理解为对一个领域的探索 在这个领域中 许多事情是未
  • 具有多个订阅者的单个 Observable

    我有一个Observable lt
  • 2 个 Codeigniter 安装在同一台服务器上,并带有子文件夹

    我有以下场景 一个 Codeigniter 网站 我们称之为WebA 安装在sebserver 的根目录下 从域访问 www example com 另一个 Codeigniter 网站 我们称之为WebB 安装在同一 Web 服务器的子文
  • HTML
    标签在 IE/Edge 中不起作用

    我正在尝试添加用户可以显示和隐藏的附加可切换部分 我的要求 支持主要浏览器 Mac 上的 Opera Chrome Edge IE11 Firefox Safari 没有 JavaScript 并正在考虑使用
  • JavaScript 函数中的 CSS 代码

    我有这个 JavaScript 方法 我想要执行的CSS代码是 但仅适用于那些进入上述 if
  • OpenGL旋转自定义实现

    我正在尝试编写 Opengl glRotatef angle x y z 函数的自定义实现 我写了旋转矩阵 但是当我尝试使用它时 效果与原始函数不一样 这是我的代码 void mglRotate float angle float x fl
  • RazorEngine 尝试发送电子邮件时出错

    我有一个发送多封电子邮件的 MVC 4 应用程序 例如 我有一个用于提交订单的电子邮件模板 一个用于取消订单的模板等 我有一个Email Service有多种方法 我的控制器调用Send方法如下所示 public virtual void
  • 如何从 iPhone 中的 NSString 中删除 HTML 标签?

    我正在使用日历功能来满足我的应用程序要求 如果我单击今天日期或明天日期或其他某个日期 则需要在其中显示吉祥详细信息UITextview 我一直在尝试在文本视图中格式化字符串 但无法解决 我对 xcode 很陌生 我想删除HTML我的字符串中
  • Google Script:如何突出显示一组单词?

    我想为谷歌文档编写一个脚本来自动突出显示一组单词 一句话 我可以使用这样的脚本 function myFunction var doc DocumentApp openById ID var textToHighlight TEST var
  • 从 URL 导入数据

    圣路易斯联邦储备银行的各种网页上提供了大量数据 例如 http research stlouisfed org fred2 series OILPRICE downloaddata cid 32217 http research stlou
  • 在 Python 中查找某个日期之前的时间

    找到约会前的时间的最佳方法是什么 我想知道年 月 日和小时 我希望有人有一个很好的功能 我想做这样的事情 此评论是在 2 个月零三天前发布的 或者此评论是在 1 年零 5 个月前发布的 datetime http docs python o
  • Git 命令以编程方式将文件的一系列行添加到索引?

    我想要一个命令可以让我做类似的事情 git manual add some file txt 10 20 这相当于 git add p some file txt 并说y仅包含第 10 行到第 20 行的大块 是否有内部 git 命令可以让