多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 第一步 连接服务器 ~~~ ssh user@your.server.com ~~~ ## 第二步 添加一个用户 ~~~ sudo adduser git ~~~ ## 第三步 初始化git裸仓库,也叫做中间仓库 ~~~ sudo git init --bare sample.git ~~~ ## 第四步 修改裸仓库的所属用户 ~~~ sudo chown -R git:git sample.git ~~~ ## 第五步 禁用shell登录 出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑`/etc/passwd`文件完成。找到类似下面的一行: ~~~ git:x:1001:1001:,,,:/home/git:/bin/bash ~~~ 改为: ~~~ git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell ~~~ 这样别人就不能通过`ssh user@your.server.com `连接你的服务器,只要连接就会自动断开,别人就无法使用shell来操作你的服务器;但是可以使用你服务器的git。 ## 最后 clone 服务器上的代码 ``` git clone git@server:path ``` `git`代表的是我们刚才创建的用户 `server`代表的是我们的服务器地址,可以是域名或者ip `path`代表的是裸仓库保存在服务器的具体位置 例如`git clone git@www.baidu.com:/www/sample.git` ## 如何将本地代码保存到服务器上 - 如果是通过`git clone`从服务器上clone下来的代码,直接`git push`就行啦(前提是你只有一个master分支哦,多个分支需要指定push的分支,例如 `git push origin dev`) - 如果你的项目是在本地已经`git init`过了的,可以通过例如`git remote add git@www.baidu.com:/www/sample.git`添加远程仓库。 - 如果你的项目是从github上面clone下来的可以通过例如`git remote set-url --add git@www.baidu.com:/www/sample.git`方式添加,这样你`git push`时既可以将代码同步到你的服务器上,也可以同步到github