码迷,mamicode.com
首页 > 系统相关 > 详细

ubuntu14.04/16.04搭建git服务器和客户端

时间:2018-09-30 14:54:13      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:install   假设   use   服务器   ini   commit   默认   端口   str   

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 "usermail@mail.com"

其中"username"是你的用户名, "usermail@mail.com" 是你的邮箱。

此时当前用户目录下生成配置文件.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  git@192.168.1.100:/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    git@192.168.1.100

就可以将本地的公钥复制到远程机器中(.ssh/id_rsa.pub是本地客户端的公key, git@192.168.1.100表示服务器的git服务器管理用户git)。

如果有端口的要加上端口,比如-p 1234,然后输入远程主机密码回车即可。ssh-copy-id会将key写到远程机器的~/.ssh/authorized_key文件中。

方法二: 手动将客户端的公钥复制到远程机器的~/.ssh/authorized_key文件中。

 

ubuntu14.04/16.04搭建git服务器和客户端

标签:install   假设   use   服务器   ini   commit   默认   端口   str   

原文地址:https://www.cnblogs.com/baicailong/p/9728857.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!