CentOS7服务器搭建本地的git仓库服务器端
- 2883
- Linux
- 0
- super_dodo
- 2020/04/27
在项目开发的时候需要创建自己公司的git仓库,你也可以使用gitlab这些开源的工具。当你服务器资源有限的时候,可以在开发测试机子上面自己搭建自己的git仓库服务器。方法大概如下所示。
# 验证是否安装成功 $ git --version # 输出如下内容表示成功: git version x.x.x.x # 添加git账户 $ adduser git # 修改git的密码 $ passwd git # 然后两次输入git的密码确认后。 # 查看git是否安装成功 $ cd /home && ls -al # 如果已经有了git,那么表示成,参考如下: drwx------ 10 git git 4096 Apr 4 00:26 git # 默认还给我们分配一个名字叫git的组。 $ ssh-keygen # 或者 mkdir .ssh && chmod 700 .ssh $ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys 配置服务端的ssh访问 切换到git账号,并创建ssh的默认目录和校验公钥的配置文件 # 1.切换到git账号 $ su git $ whoami # 2.进入 git账户的主目录 $ cd /home/git # 3.创建.ssh的配置,如果此文件夹已经存在请忽略此步。 $ ssh-keygen # 或者 mkdir .ssh && chmod 700 .ssh # 4. 进入刚创建的.ssh目录并创建authorized_keys文件,此文件存放客户端远程访问的 ssh的公钥。 $ cd /home/git/.ssh $ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys # 5. 设置权限,此步骤不能省略,而且权限值也不要改,不然会报错。 $ chmod 700 /home/git/.ssh/ $ chmod 600 /home/git/.ssh/authorized_keys git config --global user.name 'dodo' git config --global user.email 'dodo@book.net' ssh-keygen -t rsa -C "dodo@book.net" #查看公告生成的pub $ cat /home/git/id_rsa.pub ssh-rsa AADShsdhshdhdsfdsfdsADAQABAAABAQC1BXbvDj+q8H+lj6k tnL5WIX2Wr2/3eC3KKrtVHC08sdfdsfdsfsdgmCsIp56Bb6jGAINraash wO6aPUxK5FLrpPyH2Um5ZJsl/0bMfiYFzsPretYUAShZDxnDhghdDAPTV 3GvdvdKIldnKxKNShmZcbvcxtPltVH9mvG0T dodo@book.net 生成keys的时候密码请直接enter键 如果你需要生成新的key请输入名称例如 /home/git/.ssh/id_rsa_root #把你需要的所有的keys的pub内容都附加到authorized_keys $ cat id_rsa.pub >> /home/git/.ssh/authorized_keys $ cat id_rsa_git.pub >> /home/git/.ssh/authorized_keys $ cat id_rsa_root.pub >> /home/git/.ssh/authorized_keys 此时你的git验证已完成。 新建空仓库 现在我们来为开发者新建一个空仓库。可以借助带 –bare 选项的 git init 命令来做到这一点,该命令在初始化仓库时不会创建工作目录: $ cd /home/git $ su git $ whoami $ git init --bare dodo_test.git Initialized empty Git repository in /home/git/dodo_test.git/ 以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git: $ chown -R git:git dodo_test.git 这样在客户端就可以clone了 git clone git@115.11.22.33/home/git/dodo_test.git Cloning into 'runoob'... warning: You appear to have cloned an empty repository. Checking connectivity... done. #端口有改动的情况下 git clone ssh://git@192.168.10.10:32569/home/git/dodo_test.git test_app
正常情况下我们会把22这个端口禁用了,这样客户端 SourceTree或者TortosieGit进行clone远程仓库的时候会出现端口连接不上的情况
重点注意:如果SSH 修改默认端口,配置方式跟默认并不一样
#正常未修改SSH 端口: git clone git@192.168.10.10/home/git/dodo_test.git #修改SSH端口配置方式 git clone ssh://git@192.168.10.10:32569/home/git/dodo_test.git
以上配置完成可正常使用
此时,其他开发者可以克隆此仓库,并推回各自的改动,步骤很简单:
通过这种方法,你可以快速搭建一个具有读写权限、面向多个开发者的 Git 服务器。
常见遇到的问题.
多个终端记得吧id_rsa.pub 添加到/home/git/.ssh/authorized_keys之中,
不同的用户也需要添加上去,譬如服务器上面至少有git和root两个用户,两个都要添加进去。
多多查看.git目录权限
创建git仓库这些的时候建议都用git用户
你的git还需要各种安全设置.
参考文档:
https://www.runoob.com/git/git-server.html
book_dodo $ cd /home/git $ su git $ whoami git init --bare dodo_www_book_com.git git clone git@111.22.33.44:/home/git/dodo_www_book_com.git www_book_com git init --bare dodo_www_book_com.git git clone ssh://git@111.22.33.44:55/home/git/dodo_www_book_com.git www_book_com
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例