目录
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 git@192.168.0.50:/home/git/GitTest
4 本地电脑、生成 ssh 密钥
可以先查看本地 .ssh 目录是否有 id_rsa.pub 文件、如果有可直接直接推送。
$ cd
$ cd .ssh
$ ls
如果不存在、可输入如下命令手动生成、Email 请改为自己使用的地址、一直点回车即可。
常见问题:根据提示输入密码可以么?
可以输入密码、但由于VSCode不提示输入密钥密码的过程、会提示权限不足、须通过命令行来进行工程的拉取或推送。
$ ssh-keygen -t rsa -C "6666666@qq.com"
5 将本地密钥推送到服务器
可通过 ssh-copy-id
命令自动完成,这样就不必手动复制并安装公钥了。
$ sudo ssh-copy-id rykou@192.168.0.50
⭕️完成、测试、散花🌸
常见错误提示
1. "Git Permission denied ,please try again."
一般是由于没有配置 ssh 密钥到服务器上导致、也可能是 ssh 密钥生成过程中输入了自定义密码。
2.『存储库未配置任何要推送到的远程存储库。』
Commond+Shift+P、选择 Git:添加远程仓库。具体请参见本视频演示。
3. ssh 时报错