本地搭建git服务器

 

前言:

相信不少公司都已经将代码管理工具切换为git了,同时将本身的部分代码拿到github上托管。固然,还有部分涉及商业机密的代码则在公司内部创建git服务器来管理。git

关于git服务器的搭建,网上有不少教程,可是都过于复杂,并且加入了写权限控制的东东,对初学者则是不利的。github

你们都知道git的分支管理功能是很是强大的。咱们常常须要摸索git的具体某项功能,因而,本身搭建一个git服务器,就变成了咱们一个在平常工做中试错的场所(由于,不能由于咱们对git的无知对公司的公用的git服务器形成不可逆转的影响)。bash

本文就介绍一下最简洁的git服务器搭建步骤,让git菜鸟们也能够尽快玩起来。服务器

你们是否是都在公司的多个服务器上拥有本身的用户名呢?咱们搭建的环境就选在公司服务器上吧(本身在家里也是同样的,后文会描述)。app

Git软件的安装,这里就省略了哈,须要的本身百度了。dom

第一步:初始化仓库

新建一个文件夹,用于git服务器存放位置,初始化仓库。ssh

bash-4.2$ mkdir my.git工具

bash-4.2$ git init --bare my.git/测试

Initialized empty Git repository in /home/user/my.git/spa

说明空仓库已经初始化成功了。

进入仓库,你能够发现里面已经具有了git管理须要的数据。

bash-4.2$ cd my.git/

bash-4.2$ ls

branches  config  description  HEAD  hooks  info  objects  refs

 

第二步:克隆仓库

建立一个文件夹,就能够在本地克隆仓库。

bash-4.2$ mkdir myclient

bash-4.2$ cd myclient/

bash-4.2$ git clone user@本机IP:/home/user/my.git

Cloning into 'my'...

The authenticity of host '10.xxx.154.150 (10.xxx.154.150)' can't be established.

ECDSA key fingerprint is SHA256:MHSZ0x5/N1swsW9skwTP2m9t35zBEY86eyM8HA+lIgI.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '10.xxx.154.150' (ECDSA) to the list of known hosts.

user@10.xxx.154.150's password:

warning: You appear to have cloned an empty repository.

Checking connectivity... done.

bash-4.2$ ls

my

这样,就在本地克隆了一个刚刚搭建的git库。

Ok,finished,是否是超级简单。有了这个仓库,你就能够在上面随心所欲(好比测试你的分支操做),又不怕操做错误了。上面就是在本地搭建一个git服务器,而后也在本地克隆服务器的简单示例了。

附录:

若是你不是在本机clone,而是想要在另外一台客户机上clone。这时,你就须要将这台机器的ssh公匙拷过来,进行受权。步骤也很简单,不信你看。

第一步:在客户机上生成公匙

bash-4.1$ ssh-keygen

这条命令能够在你用户目录下生成公匙文件,以下

bash-4.1$ cat ~/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5ADG/D3k1vW0Mj4FTKJMyae3xMBju0jqT3u4U+G3y7Spodpr84p2Kg0YWAGsYg8zv7gZbuwftW80uhNQssK+VNHlhpPn9/ynumQtEB4aZbLpi53rFdrnwOPUpoyolBbGfmcvyyeuXtsn81cZnDwB31iW2uKH5WpgjT30rlWKceHnkQHg02XAkBGOXBuhKHlsSLtFScg/6CrgyW0CCnvr+iNHDD/SZnA8BRfEoiBzXXw1rgczwRa6SEZ2SD0VSkHRHZufLJlbX466G3DFH6QR1dl2Pz1GN+3YYe1RfafNIUsL9BNXiWi0b1IFRTUnBHu1gUvWwGsf/3ZfnbZzGkzzCQ== user@localhost.localdomain

第二步:复制客户机的公匙到服务器~/.ssh/authorized_keys

若是没有authorized_keys文件,就建立它,更改属性为644

bash-4.2$ touch authorized_keys

bash-4.2$ chmod 644 authorized_keys

拷贝数据后的authorized_keys文件以下

bash-4.2$ cat ~/.ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5ADG/D3k1vW0Mj4FTKJMyae3xMBju0jqT3u4U+G3y7Spodpr84p2Kg0YWAGsYg8zv7gZbuwftW80uhNQssK+VNHlhpPn9/ynumQtEB4aZbLpi53rFdrnwOPUpoyolBbGfmcvyyeuXtsn81cZnDwB31iW2uKH5WpgjT30rlWKceHnkQHg02XAkBGOXBuhKHlsSLtFScg/6CrgyW0CCnvr+iNHDD/SZnA8BRfEoiBzXXw1rgczwRa6SEZ2SD0VSkHRHZufLJlbX466G3DFH6QR1dl2Pz1GN+3YYe1RfafNIUsL9BNXiWi0b1IFRTUnBHu1gUvWwGsf/3ZfnbZzGkzzCQ== user@localhost.localdomain

 

这样,你就能够用建立git服务器的用户名和密码,在另外一台客户机上进行git操做了。

Enjoy it!

 

若有描述不清楚、不正确或是其余疑问,欢迎留言。