如何将特定文件最后一次commit中新增的代码导出到临时文件
方案1:导出指定commit中对应文件的完整内容(推荐该场景使用)
你当前的commit是新增了test.txt文件,直接导出该版本下文件的全部内容即可,命令如下:
# 格式:git show <commit哈希>:<文件路径> > <临时文件路径> git show c3fc4d5827:test.txt > /tmp/temp_content.txt
执行后/tmp/temp_content.txt里的内容就是你要的new line added。
方案2:提取任意commit diff中的所有新增行内容
如果需要提取某个commit diff里所有新增的行(适配多个文件修改、仅要增量新增内容的场景),可以用命令过滤diff结果:
# 针对最新的HEAD commit提取所有新增内容 git diff HEAD~1 HEAD | grep '^+' | grep -v '^+++' | sed 's/^+//' > /tmp/temp_content.txt
命令说明:
grep '^+'筛选所有diff里以+开头的新增行grep -v '^+++'排除diff头部标记文件路径的+++ b/xxx行sed 's/^+//'去掉行首的+号,得到纯文本内容
内容的提问来源于stack exchange,提问作者LUSeR
相关产品推荐
相关产品推荐

