筆者想要通過Github托管自己在VsCode下寫的項目,但網上關於這方面的教程有點雜亂,踩了很多坑,將這一過程記錄如下,希望可以幫助到有需要的小伙伴們。使用VsCode托管項目到Github的方法有兩種,一種是使用指令,1-5是使用指令托管的方法,另一種是使用VsCode自帶的Source control功能,具體操作可看6-8。
1. 設置SSH Key
代碼托管有兩種方式,一種是使用HTTPS,該方式需要每次輸入用戶名和密碼,比較麻煩,推薦采用第二種方式:SSH加密傳輸,使用SSH加密傳輸需要使用到SSH keys。
1.1 創建SSH key
命令行輸入
ls -al ~/.ssh
如果該文件夾下存在id_xxxx.pub和id_xxxx的文件,如下如所示:
其中,非pub結尾的id_xxxx是私鑰,不能泄露,.pub結尾的是公鑰,可以告訴他人。如果存在這兩個文件,可以跳到下一步,在Github網站設置SSH key。
如果沒有這兩個文件,需要創建SSH key,在命令行輸入:
# -t后面的參數是創建的SSH key文件的名稱
# -C后面的參數是你Github賬戶注冊的郵箱
ssh-keygen -t ed25519 -C "your_email@example.com"
輸入該上述代碼后會產生一對密鑰,pub結尾的為公開密鑰,接着會讓選擇存儲SSH key的文件夾,直接enter確認;然后是輸入使用SSH key的密碼,可以選擇設置,不想設置直接按enter如下圖所示:
1.2 在Github網站設置SSH key
登錄Github,點擊右上角頭像,然后點擊setting,進入設置后點擊左側SSH and GPG keys,然后在SSH keys那一行后面點擊New SSH key,進入后在終端輸入:
cat ~/.ssh/id_ed25519.pub
.ssh后面是你新創建的id_xxxx.pub文件名,你也可以使用vim打開這個文件,復制里面的內容,注意復制的過程中不能增加空格,因此使用cat 指令是一個好的選擇。
復制之后粘貼在github的key那一欄,點擊Add SSH Key,即可完成添加。
1.3 測試SSH key連接
在命令端輸入如下指令:
ssh -T git@github.com
提示如下結果,則證明連接成功,即可開始下一步。
2. 安裝初始化git
命令行輸入
sudo apt-get install git
git --version #查看git是否安裝成功
3. 創建本地倉庫
3.1 將目錄變為git可管理的倉庫
安裝成功后打開Vscode,打開你想要托管的項目文件,這里以一個空的文件夾GitTest為例。創建空文件夾后創建一個README.md文件保存。然后打開終端(快捷鍵crtl+`(esc下面的按鍵)),輸入:
git init
這個命令可以把當前目錄,這里是GitTest 變成Git可以管理的倉庫,這樣我們就可以進行git操作見過項目上傳到github了。
3.2 添加需要上傳的文件
使用如下指令:
git add file
要想添加當前目錄下的所有文件,使用
git add ./
3.3 檢查git狀態
使用 git指令查看當前git的狀態,可以查看當前的分支,以及添加文件的情況。
git status
3.4 commit推送
使用指令將緩存區的修改提交到本地倉庫。
git commit -m "Add a README.md"
-m 后面是本次修改的提示信息。結果如下:
接下來,在將文件添加到遠程倉庫,以前,我們需要在github上創建一個遠程倉庫。
4. 創建遠程倉庫
登錄github,在網頁左上部分點擊Repositories,點擊new,設置你要添加的倉庫名稱,建議與你想要保存的文件夾的名稱一致。
描述部分是可選項,點擊創建。
創建成功后,復制倉庫的SSH,如圖所示:
5. 將本地倉庫的內容同步到遠程倉庫
給本地倉庫添加遠程倉庫,命名為origin,隨后便可以添加文件到遠程倉庫中。使用指令:
git remote add origin git@github.com:Swing-code/GitTest.git
其中origin后面跟的是你新創建的倉庫的SSH。如果出現了錯誤:fatal: remote origin already exists.說明遠程倉庫已存在,這時需要刪除origin倉庫,然后重新添加該遠程倉庫,指令如下:
git remote rm origin
git remote add origin git@github.com:Swing-code/GitTest.git
添加完成之后,添加文件到遠程庫,使用如下指令:
git remote set-url origin git@github.com:Swing-code/GitTest.git
git push origin master # 該倉庫第一次push
git push # 以后更新,只需輸入git push
push結束后,出現如下結果:
就上傳成功了,在Github上對應倉庫刷新一下,內容就改變了,說明上傳成功。
PS:除了使用指令同步倉庫外,也可以使用VsCode的Source Control來托管代碼。第一步也是設置好SSH key,和用指令的第一步是一樣的。
6. 初始化倉庫
用VsCode打開要上傳的文件夾,打開之后點擊左側第三個source control的圖標,再點擊初始化倉庫的按鈕,如圖所示:
初始化倉庫之后,將倉庫的內容commit,具體操作為點擊下圖左側內容,按下crtl+enter鍵,會提示輸入commit message,這是你對本次提交的信息提示,用來告訴別人你做了哪些修改。
接上來需要創建遠程倉庫,步驟和第四步一致,創建好遠程倉庫。
7. 把本地倉庫同步到遠程倉庫
創建好遠程倉庫后,打開VsCode,點擊左側第三個Source Cortrol,點擊下圖紅色區域,選擇add remote,在VsCode上面跳出的框中輸入你創建的倉庫的SSH。
輸入SSH點擊確定后,會讓你提供一個遠程倉庫名,這里輸入origin,按enter即可。
然后點擊source control后面那三個點,選擇push,如下圖所示:
這樣便將代碼同步成功。
8. 修改代碼后提交
在工作去添加一個README.md文件,添加后,可以看到該文件為綠色,這是告訴我們該文件是被修改的文件,如圖所示:
點擊source control,然后點擊右邊紅框圈住的+號,存儲本地倉庫的改變,如圖所示:
存儲改變后,將倉庫的內容commit,具體操作為點擊下圖左側內容,按下crtl+enter鍵,會提示輸入commit message,這里輸入Add README.md,如下圖所示:
完了,點擊左側的同步改變即可。如下圖所示:
添加成功如下圖所示: