ubuntu14.04/16.04搭建git服务器和客户端
Posted baicailong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu14.04/16.04搭建git服务器和客户端相关的知识,希望对你有一定的参考价值。
1. git安装
一般ubuntu默认已经安装了git,可以用如下命令查看有没有安装git:
$ git --version
如果已经安装了git会显示版本号例如"git version 1.9.1", 如果没有安装就需要安装git,用如下命令:
$ sudo apt-get install git
2. git客户端之配置用户
在用户当前目录例如/home/zhangshan下通过以下命令配置git客户端用户:
$ git config --global user.name "username"
$ git config --global user.email "[email protected]"
其中"username"是你的用户名, "[email protected]" 是你的邮箱。
此时当前用户目录下生成配置文件.gitconfig(此文件是隐藏文件,需要用ls -a命令才能查看到).
通过cat .gitconfig 命令可以查看刚才创建的信息。
3. git客户端之创建RSA key
创建RSA key的目的是与git服务器通过SSH方式交换数据。
在用户当前目录例如/home/zhangshan通过以下命令创建RSA public key和private key:
$ ssh-keygen -t rsa
成功之后可以在当前用户目录的隐藏文件夹.ssh下生成2个文件id_rsa(private key) 和id_rsa.pub(public key)。
4. git服务端之搭建git服务器
第一步,添加用户来运行git服务器, 假设使用用户名称为git:
$ sudo adduser git
第二个,创建git仓库:
选择一个目录存放git的仓库,例如/home/gitrepo/, 进入此主目录然后创建子仓库(子项目):
$ cd /home/gitrepo
$ sudo git init --bare example1.git
此时git就在/home/gitrepo/目录下创建了一个裸仓库example1。接下来配置仓库的owner
$ sudo chown -R git:git example1.git
接下来git客户端就可以通过以下命令克隆远程仓库了(假设远程服务器IP为192.168.1.100):
$ git clone [email protected]:/home/gitrepo/example1.git
5. git服务端之SSH登录配置
以上已经搭建好了git的服务器和客户端。当修改代码后需要从git客户端推送修改到服务器。
执行 git add , git commit之后就将修改推送到了本地仓库,接下来需要将本地仓库的修改推送到远程服务器。使用以下命令:
$ git push
发现每次都要输入密码, 如果要使用免密码的推送(例如github远程仓库的方式)需要使用SSH认证。
我们只需要将客户端的public key发送给服务器即可。
方法一: 直接在客户端运行命令
$ ssh-copy-id -i .ssh/id_rsa.pub [email protected]
就可以将本地的公钥复制到远程机器中(.ssh/id_rsa.pub是本地客户端的公key, [email protected]表示服务器的git服务器管理用户git)。
如果有端口的要加上端口,比如-p 1234,然后输入远程主机密码回车即可。ssh-copy-id会将key写到远程机器的~/.ssh/authorized_key文件中。
方法二: 手动将客户端的公钥复制到远程机器的~/.ssh/authorized_key文件中。
以上是关于ubuntu14.04/16.04搭建git服务器和客户端的主要内容,如果未能解决你的问题,请参考以下文章
安装系统Ubuntu Server 14.04,16.04和17.10
工程问题--ubuntu 14.04/16.04源码安装catvehicle
Ubuntu 14.04/16.04使用pbis集成AD域帐号登录