部署git 服务器环境

 

  1. 系统环境准备

192.168.30.25   master     git   gitlab

192.168.30.26   client      git

关闭防火墙

[root@master ~]# iptables -F

[root@master ~]# setenforce 0

[root@master ~]# systemctl stop firewalld

  1. 使用yum安装git  (两台服务器都需要安装)

[root@master ~]# yum -y install git

[root@client ~]# yum -y install git

创建git版本仓库,一般规范的方式要以.git为后缀

[root@master ~]# mkdir linuxprobe.git

[root@master ~]# useradd git

[root@master ~]# passwd git

更改用户 git 的密码 。

新的 密码:

无效的密码: 密码是一个回文

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@master ~]# chown -Rf git:git linuxprobe.git

初始化版本仓库

[root@master ~]# cd linuxprobe.git/

[root@master linuxprobe.git]# git --bare init

初始化空的 Git 版本库于 /root/linuxprobe.git/

此时Git服务器已经部署好了,但不能向服务器推送数据,也不能克隆Git版本仓库,需要

在服务器上开放至少一种支持Git的协议,比如http/https/ssh等现在用的最多的就是HTTPS和SSH ,本案例中使用的是SSH协议,切换至Git客户机来生成SSH秘钥

[root@client ~]# ssh-keygen //一路回车

+---[RSA 2048]----+

|      .=.oo*o.   |

|     .. X.B..    |

|    o oo Xo+     |

|     * +.o*oo    |

|      B S. *o    |

|     . X  o oo   |

|      o +  oE .  |

|       . ..  .   |

|        oo       |

+----[SHA256]-----+

[root@client ~]# ssh-copy-id 192.168.30.25  //将客户机的公钥传递给git服务器

此时就已经可以从Git服务器中克隆版本仓库了(此时目录没有文件是正常的)

[root@client ~]# git clone root@192.168.30.25:/root/linuxprobe.git

正克隆到 'linuxprobe'...

warning: 您似乎克隆了一个空版本库。

配置的是用户名名称和电子邮件地址。每次git提交都会引用这两条信息,记录提交了文件的用户,并且会随更新内容一起呗永久纳入历史记录

[root@client ~]# git config --global user.name "zhan san"

[root@client ~]# git config --global user.email root@linuxprobe.com

设置vim 为默认的文本编辑器

[root@client ~]# git config --global core.editor vim

此时查看git工作环境信息

[root@client ~]# git config --list

user.email=root@linuxprobe.com

user.name=zhan san

core.editor=vim

Git只能追踪类似于txt文件,网页,程序源码等文本文件内容的变化,下面模拟代码提交的过程

[root@client ~]# cd linuxprobe/

[root@client linuxprobe]# echo "Initialization Git repository" > readme.txt

将文件添加到暂存区

[root@client linuxprobe]# git add readme.txt

添加到暂存区后再次修改文件的内容

[root@client linuxprobe]# echo "Something not important" >> readme.txt

将暂存区的文件提交到git版本仓库,命令格式为“git commit -m ”提交说明

[root@client linuxprobe]# git commit -m "add the readme file"

[master(根提交) b4cc72b] add the readme file

1 file changed, 1 insertion(+)

create mode 100644 readme.txt

查看当前工作目录的状态

[root@client linuxprobe]# git status

# 位于分支 master

# 尚未暂存以备提交的变更:

#   (使用 "git add <file>..." 更新要提交的内容)

#   (使用 "git checkout -- <file>..." 丢弃工作区的改动)

#

# 修改:      readme.txt

#

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

1) 第一次修改提交代码:git 将代码文件提交到本地git版本数据库,此时会在暂存区生产一个快照版本

2) 第二次修改提交代码:当再次修改代码是,需要重新提交到暂存区,此时还会生产一个快照版本

3) 提交代码:只有将暂存区的代码提交到Git版本数据库才能算真正提交

查看当前文件内容与Git版本数据库中的差别

[root@client linuxprobe]# git diff readme.txt

diff --git a/readme.txt b/readme.txt

index cb06697..33d16d0 100644

--- a/readme.txt

+++ b/readme.txt

@@ -1 +1,2 @@

Initialization Git repository

+Something not important

现在把文件提交Git版本数据库吧

[root@client linuxprobe]# git add readme.txt

再来查看下当前git版本仓库的状态

[root@client linuxprobe]# git commit -m "added a line of words"

[master 55930eb] added a line of words

1 file changed, 1 insertion(+)

[root@client linuxprobe]# git status

# 位于分支 master

无文件要提交,干净的工作区

但是这次的操作还是只将文件提交到了本地的git仓库,并没有推送带远程的Git服务器

,所有需要定义远程的git服务器

[root@client linuxprobe]# git remote add server root@192.168.30.25:/root/linuxprobe.git

将文件提交到远程git服务器

[root@client linuxprobe]# git push -u server master

Counting objects: 6, done.

Compressing objects: 100% (3/3), done.

Writing objects: 100% (6/6), 517 bytes | 0 bytes/s, done.

Total 6 (delta 0), reused 0 (delta 0)

To root@192.168.30.25:/root/linuxprobe.git

* [new branch]      master -> master

分支 master 设置为跟踪来自 server 的远程分支 master。

为了验证是否推送到了远程的git服务,可以换个目录在克隆一份版本仓库

[root@client linuxprobe]# mkdir test

[root@client linuxprobe]# cd test

[root@client test]# git clone root@192.168.30.25:/root/linuxprobe.git

正克隆到 'linuxprobe'...

remote: Counting objects: 6, done.

remote: Compressing objects: 100% (3/3), done.

remote: Total 6 (delta 0), reused 0 (delta 0)

接收对象中: 100% (6/6), done.

Git环境部署的更多相关文章

  1. 分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

    分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目 这几天着实忙的焦头烂额,可惜不是搞技术,今天周日,难得闲下来,写篇大家都想学习的Git教程,其实廖雪峰老师的网站已经 ...

  2. 环境部署(七):linux下Jenkins+Git+JDK持续集成

    前面几篇博客介绍了linux下安装Jenkins.Git.JDK以及Git基础教程和Git关联github等内容,这篇博客,介绍下如何在linux服务器中利用它们构建持续集成环境... 一.准备工作 ...

  3. Visual Studio Git代码管理环境部署

    Visual Studio 2010 部署Git代码管理环境. 第一:首先做Git的安装和环境部署 1.下载并安装Git软件,在windows环境下的Git叫做“msysGit”,官网地址为https ...

  4. Anyconnect的VPN环境部署(2)-在Linux客户机上连接Anyconnect

    由于之前已经在机房IDC安装了Anyconnect的VPN服务环境(参考:Anyconnect的VPN环境部署(1)-OpenConnect server(ocserv)服务安装)今天介绍下在linu ...

  5. FW: Chef集中管理工具实践之 (1) 环境部署

    本文转载:http://heylinux.com/archives/2208.html Chef集中管理工具实践之 (1) 环境部署 目录结构Chef集中管理工具实践之 (0) 什么是ChefChef ...

  6. Git自动部署

    Git自动部署文件位于repository下面的hooks里的post-receive #!/bin/sh set -e git-update-server-info gitosis-run-hook ...

  7. Flume环境部署和配置详解及案例大全

    flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本.HDF ...

  8. NodeJS项目迁移兼Ubuntu下NodeJS环境部署

    前言 之前做的几个项目都托管在阿里云服务器,但是最近要到期了.想着到底要不要续期,毕竟100/月.后面看着阿里云有个活动,800/三年.果断买下.环境部署折腾了一天,其中也遇到几个坑. 目录 一.安装 ...

  9. MIP开发教程(一) MIP-CLI工具安装与环境部署

    依赖安装 安装 MIP-CLI 创建开发文件结构 1. 依赖安装 MIP-CLI 使用 NPM 安装,依赖 node 环境: node 安装-windows node 安装-mac MIP-CLI 开 ...

随机推荐

  1. 【一】注入框架RoboGuice使用:(A brief example of what RoboGuice does)

    在我们平时开发Android项目的时候比如常常须要使用各种View控件,然后进行声明.findViewById.而且进行强转.每次都要写这种代码就显得很繁琐,而且easy出错哦.那么针对这种情况且不限 ...

  2. Java读取数据库数据生成柱状图

    此案例是用swing显示数据的.须要引入jfreechart相关包.不同版本号可能包不同样.本人用的是 此案例在ssi框架下会报错,不用框架就没问题. Java后台逻辑代码: public class ...

  3. iOS 设置启动页面 时间

    [NSThread sleepForTimeInterval:3.0];  时间越大  ,启动页面停留的时间越长 iOS 8之后,,创建项目自带的有  LaunchScreen.xib  可直接用

  4. LeetCode 917. Reverse Only Letters (仅仅反转字母)

    题目标签:String 利用left, right 两个pointers, 从左右开始 互换 字母.如果遇到的不是字母,那么继续移动到下一个. Java Solution: Runtime beats ...

  5. 西门子TCP/UDPport

    通过TCP和UDP数据传输的不同服务用到了哪些port? func=ll&objid=21874445&nodeid0=10806074&load=treecontent&am ...

  6. 【iOS开发-32】iOS程序真机调试须要购买调试证书怎么办?

    一.情况 我们在开发iOS程序的时候,一般都是在模拟器上执行查看效果的. 可是,当开完完毕.须要在真机上调试怎么办? 二.官方解决的方法 苹果有为个人和企业开发人员提供调试证书和公布证书.个人版99美 ...

  7. 破解IntelliJ IDEA 2017

    一.下载地址 http://www.jetbrains.com/idea/ 二.下载破解jar包 http://idea.lanyus.com/ 2.1 将下载好的jar包放在IDEA的bin文件下 ...

  8. BestCoder Round #61 (div.2) C.Subtrees dfs

    Subtrees   问题描述 一棵有N个节点的完全二叉树,问有多少种子树所包含的节点数量不同. 输入描述 输入有多组数据,不超过1000组. 每组数据输入一行包含一个整数N.(1\leq N\leq ...

  9. bzoj3907 网格 & bzoj2822 [AHOI2012]树屋阶梯——卡特兰数+高精度

    题目:bzoj3907:https://www.lydsy.com/JudgeOnline/problem.php?id=3907 bzoj2822:https://www.lydsy.com/Jud ...

  10. E20170627-gg

    ring   n. 戒指,指环; 铃声,钟声; 环形物; 拳击场;   vi. 按铃,敲钟; 回响; 成环形; rear   n. 后部,背面,背后; 臀部; (舰队或军队的) 后方,后尾,殿后部队; ...