Technical 技术

云服务器部署 git

这两天想在自己的阿里云(CentOS)上部署 git。由于 git 是分布式的,其实并不存在服务器与客户端的概念。在云服务器上部署 git 和在自己的电脑部署 git 没啥差别。但云服务器永远在线,在云上部署自己的 git,还是要方便一些。

1.在服务器中安装 git。

$ yum install git

2. 创建新的用户,今后专门用于提交代码。

$ adduser git

3. 现在这个用户是具备 SSH 权限的,我们有将其切换为仅具有 git 权限。

$ vi /etc/passwd

4. 在 VI 中按下 i,进入文档编辑,找到最后一行,现在为:

git:x:1001:1001::/home/git:/bin/bash

5. 将上一步中的那行改为如下内容,在 VI 中按 esc 后输入 :wq 保存文件。

git:x:1001:1001::/home/git:/bin/git-shell

6. 设置 Git 用户的密码,后续提交代码都要用这个密码。

$ passed git

7. 现在需要回到自己的电脑,找到自己电脑中是否有 SSH key。我的电脑是 Mac,之前有生成过 key。运行如下命令后,可以看到本地的 id_rsa.pub 文件。

ls -al ~/.ssh

8. 在 Mac 中运行如下命令,复制自己的 SSH key。

cat /Users/<username>/.ssh/id_rsa.pub

9. 回到云,将 SSH key 操作到如下路径中。

$ cd /home/git/
$ mkdir .ssh
$ cd .ssh
$ vi authorized_keys

10. 回到云,初始化一个 git 路径。注意一定要将路径下的所有文件写入权限,不然无法 push。

$ cd /var/
$ mkdir git
$ chown -R git:git git
$ chmod -R 777 git
$ cd git

11. 新建一个 git 项目。

$ git init --bare <ProjectName>.git

12. 回本地 clone 试试。

git clone git@<IP_Address>:/var/git/<ProjectName>.git

13. 最后 push 一些代码试试。

git init
git add --all
git commit -m "Initial commit"
git push -u origin master

大功告成!

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x