搭建自己的GIT服务器
出于个人需要,搭建一个自己的GIT服务器是在所难免. 方便自己管理代码,也方便composer.
-
root登录服务器,新建一个用户组 && 所属该组的用户.
# 新建一个git用户组 groupadd -f git # 新建一个属于git组的git用户 useradd -g git git # 为git用户创建密码,输入两次相同密码即可 passwd git
-
root新建仓库
# 新建一个仓库 cd /usr/local/ && mkdir git && cd git && git init --bare # 设置仓库相关权限 cd ../ && chown -R git:git git && chmod -R 600 git
-
客户端生成公钥
# 推荐使用git-bash ssh-keygen -t rsa -C your@emai.com # 一路回车即可,如果公钥已存在会提示id_rsa already exists.Overwrite(y/n)? 输入y覆盖即可 ssh-add
-
服务器切换到git用户
# change to 'git' # 这里一定是su - git 而不是 su git su - git # 在git的home目录新建一个文件夹.ssh,并在该文件夹下创建一个authorized_keys文件 mkdir .ssh && chmod -R 700 .ssh touch .ssh/authorized_keys && chmod -R 600 .ssh/authorized_keys
-
复制客户端的公钥到/home/git/.ssh/authorized_keys文件中
# 这里只举例Windows # 找到 C:\Users\YourUser\.ssh\id_rsa.pub,使用文本编辑器打开,复制到服务器/home/git/.ssh/authorized_keys保存即可
-
克隆仓库并push文件
# 客户端 git clone ssh://git@yourdomain/usr/local/git cd git/ touch hello.txt echo hello world >> hello.txt git push origin master (已经把客户端的公钥复制到/home/git/.ssh/authorized_keys中,可以不需要输入密码) # 可以再clone一次看看是否已经存在hello.txt,如有则成功.
-
其他一些设置
# 出于安全考虑,git用户禁用shell登录 su - root vim /etc/passws # 找到git的那一行
git❌1001:1001:,,,:/home/git:/bin/bash
# 改成
git❌1001:1001:,,,:/home/git:/usr/bin/git-shell
以上内容均来自网络,本人只是整合以及记录笔记.如有不明,可以留言或者联系我
Everything do yourself
劝君莫惜金缕衣,劝君惜取少年时。
花开堪折直须折,莫待无花空折枝。