如何确定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" 。 这只会打印不。 改变的线条。 如果有什么不对。 请随意发表评论。 希望这可以帮助。

链接地址: http://www.djcxy.com/p/47251.html

上一篇: How to determine the unique number of changed lines in Git

下一篇: Globbing filetypes in bashrc for GREP