Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修改、删除Git并添加新的行号_Git - Fatal编程技术网

如何修改、删除Git并添加新的行号

如何修改、删除Git并添加新的行号,git,Git,我正在尝试从上一次提交中获取git repo中新添加、修改和删除的行的行号。我正在使用下面的bash函数来完成工作。但是我无法获得路径值(它显示为null),并且我的行号也不完全符合我的预期。请检查我下面的输出 diff-lines() { local path= local line= while read; do esc=$'\033' if [[ $REPLY =~ ---\ (a/)?.* ]

我正在尝试从上一次提交中获取git repo中新添加、修改和删除的行的行号。我正在使用下面的bash函数来完成工作。但是我无法获得路径值(它显示为null),并且我的行号也不完全符合我的预期。请检查我下面的输出

diff-lines() {
        local path=
        local line=
        while read; do
            esc=$'\033'
            if [[ $REPLY =~ ---\ (a/)?.* ]]; then
                continue
            elif [[ $REPLY =~ \+\+\+\ (b/)?([^[:blank:]$esc]+).* ]]; then
                path=${BASH_REMATCH[2]}
            elif [[ $REPLY =~ @@\ -[0-9]+(,[0-9]+)?\ \+([0-9]+)(,[0-9]+)?\ @@.*]]; then
                line=${BASH_REMATCH[2]}
            elif [[ $REPLY =~ ^($esc\[[0-9;]+m)*([\ +-]) ]]; then
                echo "$path:$line:$REPLY"
                if [[ ${BASH_REMATCH[2]} != - ]]; then
                    ((line++))
                fi
            fi
        done
    }
当我运行脚本时,我得到了低于输出的结果

    $ git diff -U0 | diff-lines
    ::+++ b/shipserv/shipserv.cpp
    :1:-
    :1:-// check command-line args
    :1:+// check command-line argsss
    :2:+++ b/shipserv/shipserv_client.cpp
    :3:-// #include <infra/utility/environment/config/PimpConfig.h>
    :3:+// #include <nfra/utility/environment/config/PimpConfig.h>
    :4:+++ b/shipserv/test.text
    :5:-dfssdfsdfsdfsf
    :5:+dfssdfsdfsdfsfZZZZZZZZZZZZZZ
    :6:+modified linsde 9898989
    :7:+New line added
$git diff-U0 | diff行
:+++b/shipserv/shipserv.cpp
:1:-
:1:-//检查命令行参数
:1:+//检查命令行argss
:2:++b/shipserv/shipserv_client.cpp
:3:-/#包括
:3:+/#包括
:4:++b/shipserv/test.text
:5:-DFSSDFSFSFDFSF
:5:+DfsDfsDfsFzzzzzzzzzzzzzz
:6:+修改的linsde 989
:7:+添加了新行

有人能帮我解决这个问题吗。

类似于git log-n1--stat的东西,也许?在我的回购协议中:

commit 0e35181e68f628234c53347c00a75d7af37bb45e
Author: Horst H. von Brand <vonbrand@example.com>
Date:   Thu Jan 17 15:46:32 2013 -0300

    The proper bibliography key is oliveiraXXX..., add latest results

    Signed-off-by: Horst H. von Brand <vonbrand@example.com>

 logica.tex | 16 +++++++++++++---
 url.bib    | 45 +++++++++++++++++++++++++++------------------
 2 files changed, 40 insertions(+), 21 deletions(-)
提交0e35181e68f628234c53347c00a75d7af37bb45e
作者:霍斯特·冯·布兰德
日期:2013年1月17日星期四15:46:32-0300
正确的参考书目键是Oliveriraxxx…,添加最新结果
签字人:霍斯特·冯·布兰德
logica.tex | 16+++++++++++++---
url.bib | 45+++++++++++++++++++++++++++------------------
2个文件已更改,40个插入(+),21个删除(-)

类似于git log-n1--stat,也许?在我的回购协议中:

commit 0e35181e68f628234c53347c00a75d7af37bb45e
Author: Horst H. von Brand <vonbrand@example.com>
Date:   Thu Jan 17 15:46:32 2013 -0300

    The proper bibliography key is oliveiraXXX..., add latest results

    Signed-off-by: Horst H. von Brand <vonbrand@example.com>

 logica.tex | 16 +++++++++++++---
 url.bib    | 45 +++++++++++++++++++++++++++------------------
 2 files changed, 40 insertions(+), 21 deletions(-)
提交0e35181e68f628234c53347c00a75d7af37bb45e
作者:霍斯特·冯·布兰德
日期:2013年1月17日星期四15:46:32-0300
正确的参考书目键是Oliveriraxxx…,添加最新结果
签字人:霍斯特·冯·布兰德
logica.tex | 16+++++++++++++---
url.bib | 45+++++++++++++++++++++++++++------------------
2个文件已更改,40个插入(+),21个删除(-)