crontab調度git報錯fatal: could not read Username for url: Device not configured

在多人合作開發的場景下,每次開發前需從Git倉庫pull最新的版本,當有多個項目同時進行(或同時關注)時,總是手動pull耗時耗力,而且還可能忘記,於是想到了用crontab定時pull所有自己關注的項目。

調試的過程中遇到如下錯誤

錯誤1:沒有權限讀取文件

原因:crontab中的運行環境和默認環境不一致,無法讀取mac非User目錄下的文件

解決方法:將文件夾遷移至User下

錯誤2:fatal: could not read Username for 'url': Device not configured

原因:在默認環境中mac會記住git倉庫的賬號密碼,但crontab環境不知道賬號密碼

解決方法:進入項目文件夾下open .git/config,在url中加入賬號和密碼,改爲以下格式即可

https://[userName]:[password]@github.com/[username]/project.git

可能的錯誤:git命令無效

原因:crontab的環境變量中不包含git的路徑

解決方法:使用git的絕對路徑,如 /usr/bin/git pull origin master

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章