社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

如何用git计算换行数?

Rui Zhou • 5 年前 • 1339 次点击  

当我使用 git log - -stat ,我可以得到“文件更改、添加和删除”。但是,我想计算有多少行改变了。例如:

git log --stat
-  Print “hello world”;
-  int a;
-  int b;
-  String name;
-  print "a"
+  Print “Hello, World!”
1 file changed, 1 addition, 5 deletions.

它修改了1个位置,但是git只告诉我有1个添加和5个删除。我想得到:

git log --stat
-  Print “hello world”;
-  int a;
-  int b;
-  String name;
-  print "a"
+  Print “Hello, World!”
1 file changed, 0 addition, 4 deletions, 1 modify

如何使用git自动计算修改的行数?

我试过了 git log -p ,显示如下:

git log -p
-  Print “hello world”;
-  int a;
-  int b;
-  String name;
-  print "a"
+  Print “Hello, World!”

所以,我需要逐一检查。git有计算更改行的方法吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40175
 
1339 次点击  
文章 [ 1 ]  |  最新文章 5 年前
torek
Reply   •   1 楼
torek    6 年前

就git的内部diff算法而言 变化 . 要么在那儿,要么不在那儿。如果它不在,以前也在,它就被删除了。如果它以前不存在,现在也不存在,那么它是被插入的。如果它曾经存在,现在仍然存在,它是不变的。

还有其他算法,以及git的后处理器 diff 输出,它将尝试在已删除/添加的节中查找“相似”行,并将它们显示为行内的更改。但git本身并没有做到这一点。

(原因是为了提高性能,git将每一行视为一个符号。符号本身可能会忽略空白或有一些其他特殊处理。您还可以让git将每个“单词”视为一个符号,以便它一次比较一个单词,并生成一个单词一个单词的diff。所有这些都输入到git内的四个差分引擎之一中。有关更多信息,请参阅《我的未完成》第3章的最后一节 book )