首页 > 代码库 > Git服务器的搭建和使用
Git服务器的搭建和使用
1. 安装Git
yum -y install git
2. 创建git用户
adduser git
3. 创建证书登陆
收集所有客户端需要登录的用户的公钥,就是他们自己的id_rsa.pub
文件,把所有公钥导入到/home/git/.ssh/authorized_keys
文件里,一行一个。
保证ssh不输入密码能连接到git用户
4. 初始化
[root@app-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
每次一登录就自动退出。
[root@app-01 opt]# tail -1f /etc/passwd git:x:1002:1006::/home/git:/usr/bin/git-shell
7. 克隆远程仓库
在客户端操作
[root@wls12c DEV]$ git clone ssh://git@120.77.85.77:2121/opt/demo.git Initialized empty Git repository in /root/DEV/demo/.git/ warning: You appear to have cloned an empty repository. [root@wls12c DEV]$ ls demo
至此git服务器就搭建完成了。
8. 初始化客户端的工作环境
[root@wls12c demo]$ git config --global user.name "Scott Cho" [root@wls12c demo]$ git config --global user.email "root@wls12c.com" [root@wls12c demo]$ git config --global core.editor vim
9. 向Git本地仓库中提交一个新文件
[root@wls12c demo]$ echo "I successfully cloned the Git repository" > readme.txt [root@wls12c demo]$ git add readme.txt [root@wls12c demo]$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: readme.txt # [root@wls12c demo]$ git log fatal: bad default revision ‘HEAD‘ [root@wls12c 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 [root@wls12c demo]$ git log commit b548d3bd469cf5f183e9be9a3b2949f6361b5385 Author: Scott Cho <root@wls12c.com> Date: Mon Feb 27 17:42:29 2017 +0800 Clone the Git repository
10. 定义远程的Git服务器
[root@wls12c demo]$ git remote add server ssh://git@120.77.85.77:2121/opt/demo.git
11. 将文件提交到远程Git服务器
[root@wls12c 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://git@120.77.85.77:2121/opt/demo.git * [new branch] master -> master Branch master set up to track remote branch master from server.
Git服务器的搭建和使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。