gpt4 book ai didi

git - 有没有办法让 git show lines added, lines changed and lines removed?

转载 作者:IT王子 更新时间:2023-10-29 00:32:30 26 4
gpt4 key购买 nike

“git diff --stat”和“git log --stat”显示如下输出:

$ git diff -C --stat HEAD c9af3e6136e8aec1f79368c2a6164e56bf7a7e07
app/controllers/application_controller.rb | 34 +++-------------------------
1 files changed, 4 insertions(+), 30 deletions(-)

但在该提交中真正发生的是更改了 4 行并删除了 26 行,这与添加 4 行并删除 30 行不同。

有什么方法可以获取 delta LOC(在本例中为 26 个)?我真的不关心区分添加或删除的行。

最佳答案

您可以使用:

git diff --numstat

获取数字差异信息。

至于将修改与添加和删除对分开,--word-diff 可能会有所帮助。你可以尝试这样的事情:

MOD_PATTERN='^.+(\[-|\{\+).*$' \
ADD_PATTERN='^\{\+.*\+\}$' \
REM_PATTERN='^\[-.*-\]$' \
git diff --word-diff --unified=0 | sed -nr \
-e "s/$MOD_PATTERN/modified/p" \
-e "s/$ADD_PATTERN/added/p" \
-e "s/$REM_PATTERN/removed/p" \
| sort | uniq -c

它有点啰嗦,所以你可能想在你自己的脚本中解析它。

关于git - 有没有办法让 git show lines added, lines changed and lines removed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9933325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com