在用 git 遠端 ssh 的 repos 時,時常會發生這種問題,主要是因為在放置專案的遠端的 bash 沒有把變數載進來,導致找不到這兩個 git 的指令,通常是因為放在安裝預設的 /usr/local/bin/ 裡面造成的。
我目前知道有兩種作法:
一、可以在 push pull 的時候加參數來解決這個問題,
$ git push origin master --receive-pack=/usr/local/bin/git-receive-pack $ git pull origin master --uploaa-pack=/usr/local/bin/git-upload-pack
二、在 git 的專案設定檔的 remote 裡面就把參數設定好,這樣執行時就不用加參數了。
[remote "origin"] url = ssh://[email protected]/home/project/test.git fetch = +refs/heads/*:refs/remotes/origin/* uploadpack = /usr/local/bin/git-upload-pack receivepack = /usr/local/bin/git-receive-pack
參考資料