创建git用户
执行:adduser git,根据提示设置密码。
赋予git用户sudo权限
执行:
1 | chmod 740 /etc/sudoers |
找到以下内容:
1 | # User privilege specification |
在root ALL=(ALL:ALL) ALL这一行下面添加git ALL=(ALL:ALL) ALL
保存退出后,修改回文件权限chmod 440 /etc/sudoers
关闭git用户shell权限
执行:vim /etc/passwd
将最后一行的git:x:1001:1001:,,,:/home/git:/bin/bash修改为git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
1 | getent passwd git |
需要将目录修改为 /path/to/your/project
git:x:1001:1001:,,,:/path/to/your/project:/usr/bin/git-shell
“安装”你的公钥(把你本地 id.pub 的内容贴进去):
1 | install -d -m 700 -o git -g git /home/git/.ssh |
把你本地 id.pub 整行粘贴进去(不要换行断开),保存退出。
- 修正权限(非常关键,权限不对 sshd 会直接忽略):
1 | chown -R git:git /home/git/.ssh |
再次尝试连接,连接OK
在 VPS 上已经有一个“现成目录/文件”的情况下,把它变成一个 Git 项目仓库,按下面做即可。
1)把现有目录初始化为 Git 仓库
1 | cd /path/to/your/project |
2)设置忽略文件(推荐)
根据项目类型创建 .gitignore,例如:
1 | nano .gitignore |
常见示例(按需删改):
1 | node_modules/ |
3)把现有文件加入版本库并提交
1 | git add . |
如果提示需要配置用户名邮箱:
1 | git config --global user.name "Your Name" |
4)可选:关联远程仓库(GitHub/GitLab 等)
先在远程创建一个空仓库(不要勾选初始化 README/License,避免冲突),拿到地址后执行:
1 | git remote add origin <REMOTE_URL> |
然后推送:
1 | git branch -M main |
如果你的目的是“在 VPS 上做一个可供别人 push/pull 的裸仓库”(可选)
这种一般用于在服务器上作为远端仓库(不直接在里面开发)。
1 | # 例如在 /srv/git 下放裸仓库 |
然后在你项目目录(工作区)里把它当 remote:
1 | cd /path/to/your/project |
本地开始
1 | npm install hexo-cli -g |