Git私服搭建指南
2017-11-27 本文已影响0人
已经是咸鱼的小涛orz
一、安装Git
$ sudo apt-get install git
二、创建一个git用户
$ sudo adduser git
Tips:
1、useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd命令修改密码。
2、adduser在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。
三、创建仓库
$ cd /home/git
$ sudo mkdir repository
$ cd repository
$ sudo git init --bare sample.git
修改repository所有者
$ sudo chown -R git:git sample.git
Tips:
--bare
建立裸仓库,只允许保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,防止多终端操作异常。
sample.git
文件夹名
四、导入登陆证书
-
Windows下创建ssh证书
1.打开Git Bash
2.敲入命令ssh-keygen -t rsa -C "penghaitao"
-t rsa
指定加密方式为RSA,默认DSA
-C "penghaitao"
comment注释,备注;注意大写
键入命令后有两次输入,第一次是改名,第二次是密码,都可以不输
最后在/c/Users/tao/.ssh/
路径下获取到两个文件
id_rsa
为私匙
id_rsa.pub
为公钥
-
远程仓库管理证书
1.创建管理文件
$ cd /home/git
$ sudo mkdir .ssh
$ cd .ssh
$ sudo touch authorized_keys
2.导入证书
将证书文件复制到远程主机,然后再文件路径下执行以下命令
$ sudo cat id_dsa.pub >> /home/git/.ssh/authorized_keys
查看已导入证书
$ cd /home/git/.ssh
$ less authorized_keys
五、clone代码
$ git clone git@192.168.1.6:/home/git/repository/simple.git
-
ssh: connect to host 192.168.1.6 port 22: Connection refused
尝试在主机上执行
$ ssh localhost
如果显示ssh: connect to host localhost port 22: Connection refused
则可能是没有安装ssh服务端或者开了防火墙的原因
$ sudo ufw status
查看防火墙状态
$ sudo apt-get install openssh-server
安装ssh服务端
-
The authenticity of host '192.168.1.6 (192.168.1.6)' can't be established.
在远程主机上修改/etc/ssh/ssh_config文件,加入
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Tip:这是内网中非常信任的服务器之间的ssh连接,所以不考虑安全问题,就直接去掉了主机密钥(host key)的检查。
六、创建新项目
- 远程主机上创建版本库
$ cd /home/git/repository
$ sudo git init --bare demo.git
$ sudo chown -R git:git demo.git
- 创建本地项目
1.新建项目
2.在项目路径下 右键 -> Git Bash Here
3.在Git窗口中执行命令
$ git init
$ git remote add origin git@192.168.1.6:/home/git/repository/demo.git
$ git pull origin master
$ git add .
$ git commit -m "first commit"
$ git push -u origin master