Git服务器的搭建和使用
Posted 头痛不头痛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git服务器的搭建和使用相关的知识,希望对你有一定的参考价值。
1. 安装Git
yum -y install git
2. 创建git用户
adduser git
3. 创建证书登陆
收集所有客户端需要登录的用户的公钥,就是他们自己的id_rsa.pub
文件,把所有公钥导入到/home/git/.ssh/authorized_keys
文件里,一行一个。
保证ssh不输入密码能连接到git用户
4. 初始化
[[email protected]01 opt]# git init --bare demo.git Initialized empty Git repository in /opt/demo.git/
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git
结尾。
5. 把owner改为git
chown -R git:git demo.git/
6. 禁用shell登陆
将/bin/bash改成
/usr/bin/git-shell;这样,git
用户可以正常通过ssh使用git,但无法登录shell,因为我们为git
用户指定的git-shell
每次一登录就自动退出。
[[email protected]01 opt]# tail -1f /etc/passwd git:x:1002:1006::/home/git:/usr/bin/git-shell
7. 克隆远程仓库
在客户端操作
[[email protected] DEV]$ git clone ssh://[email protected]:2121/opt/demo.git Initialized empty Git repository in /root/DEV/demo/.git/ warning: You appear to have cloned an empty repository. [[email protected] DEV]$ ls demo
至此git服务器就搭建完成了。
8. 初始化客户端的工作环境
[[email protected] demo]$ git config --global user.name "Scott Cho" [[email protected] demo]$ git config --global user.email "[email protected]" [[email protected] demo]$ git config --global core.editor vim
9. 向Git本地仓库中提交一个新文件
[[email protected] demo]$ echo "I successfully cloned the Git repository" > readme.txt [[email protected] demo]$ git add readme.txt [[email protected] demo]$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: readme.txt # [[email protected] demo]$ git log fatal: bad default revision ‘HEAD‘ [[email protected] demo]$ git commit -m "Clone the Git repository" [master (root-commit) b548d3b] Clone the Git repository 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 readme.txt [[email protected] demo]$ git log commit b548d3bd469cf5f183e9be9a3b2949f6361b5385 Author: Scott Cho <[email protected]> Date: Mon Feb 27 17:42:29 2017 +0800 Clone the Git repository
10. 定义远程的Git服务器
[[email protected] demo]$ git remote add server ssh://[email protected]:2121/opt/demo.git
11. 将文件提交到远程Git服务器
[[email protected] demo]$ git push -u server master Counting objects: 3, done. Writing objects: 100% (3/3), 262 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To ssh://[email protected]:2121/opt/demo.git * [new branch] master -> master Branch master set up to track remote branch master from server.
以上是关于Git服务器的搭建和使用的主要内容,如果未能解决你的问题,请参考以下文章