git在8/12停止了使用帳號密碼作為資料上傳的驗證,改為較為安全的ssh,所以假如你使用帳號密碼作為驗證會得到缺乏權限的http 403 error
解決方法是在本機端建立私鑰,在github端要使用本地端生成的公鑰,使雙方進行同步加解密機制
首先需要在本地端生成金鑰
存儲key的位置不用改動,直接enter就好,接下來會要求設置密碼,一樣可以直接enter到底
完成密碼設定以後,公鑰與私鑰式存放在/home/zach/.ssh
中,我們cd到這個資料夾底下就可以看到id_rsa
:私有金鑰,與id_rsa_pub
:公有金鑰
接著我們開啟公有金鑰內容,並將該內容複製來
開啟gihub頁面並點選setting
進入SSH and GPG keys選單,接著點選new ssh key並將剛剛複製的id_rsa_pub
內容貼到Key欄位,取完Title後保存
這時候我們到repo程式碼頁面,點選複製clone中的ssh碼
接著我們回到終端中,cd到要push的資料夾中,假如是發布新的版本:
1. cd 到檔案位置或在檔案位置開啟終端機
2. git init # 初始化
3. git commit -m "first commit" # 建立版本
4. git checkout -b main # 建立新分支
5. git remote add origin https://github.com/WeiLin66/python-first-programe.git # 與遠端倉庫建立同步
6. git push -u origin main //把檔案推上Github倉庫,只有第一次上傳需要用這個指令
7. git push # 之後發佈使用這個指令就好
假如是更新分支到遠端倉庫:
1. git init
2. git remote add origin 你的遠端倉庫地址
3. git add .
4. git commit
5. git push -u origin master // origin為遠端倉庫名,master為本地分支名
要注意我們在與遠端倉庫進行連結時要ssh碼指令:git remote add origin <ssh>
,最後就是使用熟悉的發布指令就可以了
另外若是本地repo已經使用密碼認證,但想改成ssh則輸入git remote set-url origin git@github.com:username/your-repository.git
我們查看github頁面上的ssh key發現已經被啟用了