引言
為了方便,一般我們克隆倉庫的時候會選擇http或者https協議
git clone https://github.com/Name/project
然后,每次git pull 的時候都要求輸入密碼,為了方便推拉代碼,更好的做法就是使用ssh
解決辦法
1.確定你的git已設置用戶名和郵箱
git config --global user.name "YourName" git config --global user.email "email@mail.com"
2.查看你的home目錄下是否已經生成過ssh-key
ll ~/.ssh
如果目錄不存在或者沒有看到id_rsa和id_rsa.pub這兩個文件(注:id_rsa為默認創建名字)
新建一個ssh-key
ssh-keygen -t rsa -C "email@mail.com"
注:請確保email地址相同
3.向你的遠程git倉庫加入你的公鑰(注:gitea、gitlab、github一般在用戶的設置頁面添加,如果遠程是通過git init初始化的項目,請追加到遠程機器的~/.ssh/authorized_keys 文件中)
cat .~/ssh/id_rsa.pub
4.轉換本地連接遠程git的地址(注:這也是git clone http://xxx.com和git clone git@xxx.com的區別,使用本方法節省刪除文件以及從新克隆的時間)
在你git clone項目后,只需將.git/config文件中
url = http://xxx.com/Name/project.git
改為
url = git@xxx.com/Name/project.git
即可。
5.測試你的ssh-key
ssh -T git@xxx.com