搭建简单的git server
安装git
$sudo apt-get install git
配置服务器
#创建用户以及信任操作
$ sudo adduser git
$ su git
$ cd
$ mkdir .ssh && chmod 700 .ssh
$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
创建证书登录,多个用户信任建立如下
$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys
初始化Git仓库
$ cd /home/git/
$ git init --bare ncms.git
$ chown -R git:git sample.git
禁用shell登录
确保以及有 git-shell的受限 shell 工具
$which git-shell
/usr/bin/git-shell
#将/usr/bin/git-shell加入shells文件最后一行保存
$sudo vi /etc/shells
$sudo vi /etc/passwd
#修改git的shell为/usr/bin/git-shell
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
测试上传代码
如果本地没有已经存在的代码:
git clone git@server:~/git/github/test.git
cd test
touch README.md
git add README.md
git commit -a #提交代码的时候会要求你写入日志
git push -u origin master
如果你本地已经有写好的代码了则执行以下步骤:
cd existing_dir
git init
git remote add origin git@server:~/git/github/test.git
git add .
git commit -a
git push -u origin master