目錄
0 演示視頻
https://www.bilibili.com/video/av96253070/
1 本地、初始化工程文件的本地 git 倉
在開始架設 Git 服務器前,需要把現有倉庫導出爲裸倉庫——即一個不包含當前工作目錄的倉庫。 這通常是很簡單的。 爲了通過克隆你的倉庫來創建一個新的裸倉庫,你需要在克隆命令後加上
--bare
選項。 按照慣例,裸倉庫的目錄名以 .git 結尾,就像這樣:$ git clone --bare my_project my_project.git Cloning into bare repository 'my_project.git'... done.
現在,你的
my_project.git
目錄中應該有 Git 目錄的副本了。
演示時是在工程目錄下執行以上命令、 所示使用的是 ./ 代替中間的 my_project
2 遠程服務器、創建系統新用戶git、並創建.ssh
創建一個操作系統用戶
git
,併爲其建立一個.ssh
目錄。$ sudo adduser git $ su git $ cd $ mkdir .ssh && chmod 700 .ssh $ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
3 把本地 Git 放入到服務器上
把步驟 1 中生成的本地倉 GitSSH.git 放到遠端的 GitTest 目錄中。
$ scp -r GitSSH.git [email protected]:/home/git/GitTest
4 本地電腦、生成 ssh 密鑰
可以先查看本地 .ssh 目錄是否有 id_rsa.pub 文件、如果有可直接直接推送。
$ cd
$ cd .ssh
$ ls
如果不存在、可輸入如下命令手動生成、Email 請改爲自己使用的地址、一直點回車即可。
常見問題:根據提示輸入密碼可以麼?
可以輸入密碼、但由於VSCode不提示輸入密鑰密碼的過程、會提示權限不足、須通過命令行來進行工程的拉取或推送。
$ ssh-keygen -t rsa -C "[email protected]"
5 將本地密鑰推送到服務器
可通過 ssh-copy-id
命令自動完成,這樣就不必手動複製並安裝公鑰了。
$ sudo ssh-copy-id [email protected]
⭕️完成、測試、散花🌸
常見錯誤提示
1. "Git Permission denied ,please try again."
一般是由於沒有配置 ssh 密鑰到服務器上導致、也可能是 ssh 密鑰生成過程中輸入了自定義密碼。
2.『存儲庫未配置任何要推送到的遠程存儲庫。』
Commond+Shift+P、選擇 Git:添加遠程倉庫。具體請參見本視頻演示。
3. ssh 時報錯