Linux(Ubuntu)搭建局域网git服务器

        本小节主要介绍本地局域网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: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
原因是apt工具处于运行中。由于平时停止运行虚拟机中的Ubuntu系统,都是直接挂起虚拟机,而虚拟机中系统并没有关闭。有时候运行了apt-get update后,运行apt-get upgrade同样会报错。解决这个问题就是直接重启虚拟机中的Ubuntu系统,开机重新运行命令;
        为了操作流程方便,在root权限的前提下作演示,如果是用户需要在命令最前面添加sudo 命令;

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 //提交到本地库
在执行sudo git commit提交的时候提示
*** Please tell me who you are.
Run
  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'root@ubuntu.(none)')错误,是因为git强制提交者注明身份,才知道是谁提交的,按照错误的提示,把分号内的内容改为自己的个人信息:
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服务器搭建完成。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值