本小节主要介绍本地局域网git服务器的搭建,当然也可以用联网的git服务器,后续还会讲到git一些常用命令的操作;由于做嵌入式开发的源码都是比较精简,源码不算很大,如果公司有多余的一台电脑,安装本地局域网git作服务器就够用了。
一、前言
就在六月份,世界上最大的闭源公司微软,以75亿美元收购了全球最大的开源公司GitHub,GitHub是一个流行的代码库托管服务,它允许开发人员使用Linux创始人Linus Torvalds于2005年发明的流行的Git源代码管理系统在云中托管他们的项目,文档和代码。GitHub被包括苹果,亚马逊,谷歌,Facebook和IBM在内的许多开发人员和大型科技公司所使用,用于存储他们的公司代码和私下协作软件,但微软是网络托管服务的最大贡献者之一,可以看出开源才是未来的趋势。
二、git服务器环境的搭建
PC系统:Linux version 4.10.0-38-generic (buildd@lgw01-amd64-059) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017
1、首先更新源
sudo apt-get update
sudo apt-get upgrade
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

2、安装git工具,安装过程中选择“y”确认就ok了:
sudo apt-get install git

3、创建管理员账户,创建过程中需要输入密码与确认密码,其他的选择回车默认就行,最后选y;
sudo adduser git

4、进入根目录的srv目录下创建仓库,可以看到/srv目录下多了个git仓库文件,并放开仓库的权限限制:
sudo git init --bare MyProject.git
sudo chown -R git:git MyProject.git

git服务器环境就算安装完成;
三、git服务器的验证及提交的演示
验证git仓库是否安装成功,首先查看本地电脑的ip地址,并进入其他目录进行clone,我在/opt/目录下做测试:
ifconfig
sudo git clone git@192.168.22.128:/srv/MyProject.git

提示ssh: connect to host 192.168.22.128 port 22: Connection refused
fatal: Could not read from remote repository.的错误
需要安装ssh相关的服务端和client客户端
sudo apt-get install openssh-server //这个必须安装
sudo apt-get install openssh-client //如果运行没有出错,这个工具可不装
如果sshserver没有启动,如果没有启动可以运行sudo /etc/init.d/ssh start开启,网上有很多关于ssh服务开启的例子;
ps -e |grep sshd

提交文本做测试:
sudo vim aaa.txt //创建索要提交的文件
sudo git add aaa.txt //git 添加文件
sudo git commit //提交到本地库

git config --global user.name "Your Name"
Omit --global to set the identity only in this repository.
sudo git config --global user.email "psy5207@163.com"
sudo git config --global user.name "PSY"
sudo git commit
commit之后,需要写提交的具体信息备注,结果进去的是GNU nano 2.5.3编辑器(以前用的vim编辑器),写完修改信息之后,保存和退出GNU nano 2.5.3分别为
Ctrl + o //写保存
Ctrl + x //退出
sudo git push //退出GNU nano 2.5.3编辑器后,提交到服务器的git
sudo git log //查看提交的信息

返过头我们进入git本地服务器的仓库下/srv/MyProject.git/objects/,有2个目录下可以看到,存放着和我做提交的两次校验码相同的东西,说明本地局域网git服务器搭建完成。