`git commit -v`默认情况下

时间:2011-05-03 20:25:06

标签: git

默认情况下,我如何配置git commit充当git commit -v(显示提交的完整差异)?

使用别名并不十分令人满意,因为它不会影响可能间接提交的操作期间的提交消息编辑,例如git rebase

7 个答案:

答案 0 :(得分:48)

如果您使用的是git 2.9,可以使用配置来完成。

git config --global commit.verbose true

Git 2.9.0发行说明: https://github.com/git/git/blob/v2.9.0/Documentation/RelNotes/2.9.0.txt

  

“git commit”学会了注意“commit.verbose”      配置变量,就像“--verbose”选项一样      是从命令行给出的。

答案 1 :(得分:30)

据我所知,你不能用别名覆盖已经存在的git命令(否则,将无法执行原始命令,并且会破坏一堆东西)。

所以我建议你做一些像git config --global "alias.ci" "commit -v"这样的事情。这会在~/.gitconfig文件中添加一行,并使git ci git commit -v成为git ci。那么你应该养成输入git commit而不是-v的习惯(除非你决定不想要{{1}})。

答案 2 :(得分:9)

好吧,我使用别名:

alias gc='git commit -v'

我相信有很多很好的别名,我从PeepCode git截屏视频开始。

答案 3 :(得分:6)

我知道这是一个古老的问题,但我碰巧碰到了它并得到答案。我在.bash_profile中添加了以下函数:

#!/bin/bash                                                                            

git()                                                                                  
{                                                                                      
    case "$1" in                                                                       
        ci|commit)
        gitargs=""
        for i in $@; do
            if [ "$1" != "$i" ]; then                                                  
                gitargs="$gitargs $i"
            fi  
        done
        command git commit -v $gitargs
        ;;  
    *)  
        command git "$@"
        ;;                                                                             
    esac                                                                               
}

这会将git变成一个bash函数,将git commit转换为git commit -v,其余的参数大部分都是单独的。但是,它会破坏具有空格的git commit个参数,并且不允许您提交名为cicommit的文件。

答案 4 :(得分:4)

我刚刚给var x = 0; 发了一封电子邮件,得到了以下回复:

  

05.04.2016 16:47,Pranit Bauva:   2016年4月5日星期二晚上8:08,Jacek Wielemborek写道:

     
    

您好,

         

我要求这个,因为有很多兴趣     (包括我)在这个功能中并没有方便的解决方法:

         

`git commit -v` by default

         

干杯,     d33tah

  
     

目前正在进行中。我就是那个正在努力的人。   其中一个补丁目前在pu分支上。我还在打磨   它包括更多的东西。您可以通过阅读来跟踪其状态   由git维护者发布的git.git消息。最新修订版   补丁是http://thread.gmane.org/gmane.comp.version-control.git/288820

     

谢谢,   Pranit Bauva

答案 5 :(得分:1)

愚蠢的解决方法::!git log -1 -u

答案 6 :(得分:1)

以下.bashrc / .profile似乎可以完成这项任务:

git() {
    if [[ "$1" = "commit" ]]; then
        shift
        command git commit -v "$@"
    else
        command git "$@"
    fi
}