Git Alias Problem

前端 未结 5 1172
难免孤独
难免孤独 2021-02-01 22:30

I was trying to set up some git aliases by adding these lines to my ~/.gitconfig file:

[alias]
  st = status
  ci = commit
  br = branch
         


        
5条回答
  •  温柔的废话
    2021-02-01 23:04

    unutbu correctly pointed out to the git-osx-installer issue 53, which states:

    Basically, I had /root/bin in my path and didn't have permissions for that directory.

    Interestingly, this was not a problem with git 1.6.3, but it was with 1.7.0 and 1.7.1.

    A strace -f -eexecve git st 2>&1 | grep EACC can help see what directory is the problem:

    [pid 6469] execve("/usr/games/bin/git-st", ["git-st"], [/* 72 vars */]) = -1 EACCES
    

    (in this instance, the /usr/games/bin/)

    Another way to find the path with the problem is:

    echo $PATH |tr ':' '\n' |xargs ls -ld
    

    One of my invalid items is actually an NFS mounted directory that I don't have permission to access because I have not authenticated via Kerberos to the corporate NFS server.
    Removing that one item from the PATH fixes the issue, and 'git stat' (my alias for status) now works.


    PeterT mentions in the comment that you might not have strace available (like in Solaris or OsX, as detailed in "Equivalent of strace -feopen < command > on mac os X"), in which case dtruss is a good equivalent.

    dtruss -f -t execve git st 2>&1 | grep EACC
    

提交回复
热议问题