在多人合作開發的場景下,每次開發前需從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