Alias
Git別名’權限被拒絕'
我在 git 別名上收到“權限被拒絕”錯誤。它適用於 root 但不適用於我的使用者帳戶:
$ andy@ubuntu:/usr/local/bin$ sudo git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" $ andy@ubuntu:/usr/local/bin$ git lg fatal: cannot exec 'git-lg': Permission denied $ andy@ubuntu:/usr/local/bin$
有任何想法嗎?
您指向的目錄中有一個條目您
$PATH
無法訪問,並且您使用的 git 版本早於 1.7.10.1。當您
git lg
首先執行 git 時,會進行一些設置,包括向$PATH
它正在使用的副本添加一個條目。然後它嘗試執行 commandgit-lg
,以便命令覆蓋別名。當它這樣做時,它會得到輸出中顯示的權限被拒絕錯誤。舊版本的 git 將在那時停止。從版本 1.7.10.1 開始,它將將該錯誤視為與未找到該命令相同。
當您以 root 身份執行時,git 能夠查看 中的所有目錄
$PATH
,發現不git-lg
存在任何命令,因此它將繼續使用定義的別名。要解決此問題,您可以升級到較新版本的 git。另一種選擇是確保您有權訪問您的 中列出的所有目錄
$PATH
,方法是授予任何有問題的額外權限或不包括列表中的那些。