如何确定Git中更改行的唯一编号
执行以下操作会给我本地更改和文件的远程版本之间的行计数差异:
git diff --shortstat C:devSprint7 origin/master:C:devSprint7
示例结果:
18 files changed, 11 insertions(+), 8 deletions(-)
请问,如何计算唯一更改的行的总数?
例如,如果Login.jsp文件的第5行被删除,并且第5行被另一行(或字符串)替换(即删除和插入在第5行完成),我希望这被计为1改变的行。
我可以通过总结插入和删除从上面的命令中得到这个计数吗?
任何帮助将不胜感激。
我在这里粘贴一个小shell脚本。 只需将git diff
命令作为输入,休息将由脚本自行处理。
#echo "Input Command : $1"
TOTAL_CHANGES_WITH_FILES="$($1 | grep '^+' | wc -l)"
TOTAL_CHANGED_FILES="$($1 | grep '^+++' | wc -l)"
RESULT=`expr ${TOTAL_CHANGES_WITH_FILES} - ${TOTAL_CHANGED_FILES}`
#echo "Total Changed Lines: ${RESULT}"
echo "${RESULT}"
将此代码保存到文件changed_lines.sh
并使用命令sh changed_lines.sh "git diff HEAD"
运行此文件。 根据你的配置,用git diff C:devSprint7 origin/master:C:devSprint7
替换"git diff HEAD"
。 这只会打印不。 改变的线条。 如果有什么不对。 请随意发表评论。 希望这可以帮助。
上一篇: How to determine the unique number of changed lines in Git