相信不少公司都已经将代码管理工具切换为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!
若有描述不清楚、不正确或是其余疑问,欢迎留言。