Ubuntu Server搭建GIT服务器

  • A+
所属分类:Linux系统

1、安装SSH

sudo apt-get install openssh-server
sudo service ssh start

2、安装Git

sudo apt-get install git

3、创建用户git

sudo adduser git

4、禁止git用户Shell登录

sudo vim /etc/passwd
git:x:1001:1001:,,,:/home/git:/bin/bash
改成
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

5、创建存放的仓库

sudo mkdir /home/git/repositories #最好使用repositories作为文件夹名称,这样可以简化后面的操作  
sudo chown git:git /home/git/repositories  
sudo chmod 755 /home/git/repositories

6、创建子项目

cd /home/git/repositories
sudo git init --bare sample.git

7、修改子项目权限

sudo chown -R git:git sample.git

8、(各自电脑)在别的电脑上进行clone然后开始提交推送等操作

git clone git@IP:/home/git/repositories/sample.git
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@IP:/home/git/repositories/sample.git
git push -u origin master

9、(各自电脑)配置每个提交者的账号信息

git config --global user.name "你的注册用户名"
git config --global user.emall "你的注册邮箱"

10、(在Git服务器)配置免密码登录git账号

在/home/git/.ssh/authorized_keys添加各自电脑中使用ssh-keygen生成的.ssh/id_rsa.pub文件内容。这样就可以实现免密码登录。

其实不难发现这个操作就是SSH的免密码登录操作,参考:http://www.cnblogs.com/EasonJim/p/7569611.html

11、扩展

  • 要方便管理公钥,用Gitosis
  • 要像SVN那样变态地控制权限,用Gitolite,或者gogs。

 

 

处理git clone命令的非标准SSH端口连接

使用git clone命令clone项目时,如果repository的SSH端口不是标准22端口时(例如,SSH tunnel模式,等等),可以使用如下命令:
git clone ssh://git@hostname:port/.../xxx.git

举例如下:

git clone ssh://git@10.137.20.113:2222/root/test.git
若文章图片、下载链接等信息出错,请在评论区留言反馈,我们将第一时间更新!如有侵权,请联系删除,谢谢!

    发表评论

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    回复后请耐心等待管理员审核,谢谢!