You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单条Shell命令非交互式Git暂存文件指定行?

如何用单条Shell命令暂存文件特定行范围的改动?

嘿,我最近碰到个具体的需求:想通过单条Shell命令,只把文件里特定范围的行执行git add操作,预想的命令形式大概是这样的:

git add -c myfile.go@123..204

我不想用git add -i、git add -p或者git add -e这类交互式Git工具——毕竟我的文件特别大,里面的改动也很多,但我明确知道要暂存的行范围,比如2000行的myfile.go里第123到204行(首尾行都包含在内)。另外GUI工具也不在考虑范围内,不管是Github GUI、Sourcetree,还是Atom/IntelliJ/VSC这类编辑器的插件,KDiff、Kaleidescope这些都直接排除。

所以想请教大家:这个需求到底能不能实现?还有个额外问题——能不能同时对多个文件执行这种指定行范围的暂存操作?

我之前找过两个相关的问题,但都没法完全满足我的需求:

  • Commit specific lines of a file to git
  • Commit only part of a file in Git
    • 其中有一条评论让我觉得这事说不定是可行的……

另外也看过Git官方文档里的《Git Tools - Interactive Staging》部分,但内容还是没法直接解决我的问题。

内容的提问来源于stack exchange,提问作者irbanana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:45:01