如何用单条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
相关产品推荐
相关产品推荐

