设为首页 收藏本站
查看: 1675|回复: 0

[经验分享] linux下安装git-2.9.5 服务端安装配置

[复制链接]

尚未签到

发表于 2018-9-16 11:12:14 | 显示全部楼层 |阅读模式
  版本:

  •   软件:git-2.9.5
  •   系统:Centos 6.8
  •   客户端: win7 _Git-2.16.2-64
  1:git安装

  •   1.1:安装git环境准备
  •   1.2:创建用户及配置家目录
  •   1.3:编译安装
  •   1.4:环境配置
  •   1.5:配置帮助文件
  •   1.6:查看版本

  2: 认证及配置仓库

  •   2.1:认证
  •   2.2:服务端初始化仓库

  3: 客户端安装 (  windows客户端)

  •   3.1:下载地址
  •   3.2:安装
  •   3.3: 客户端配置
  •   3.4:本地操作
  •   3.5:测试下载
  •   3.6:使用pycharm做测试
  4: 配置http服务

  •   4.1:安装apache
  •   4.2:用户及权限配置
  •   4.3:配置文件
  •   4.4:仓库配置
  •   4.5:访问测试

  5:功能使用

  •   查看日志 git log
  •   分支 git branch
  •   删除分支 git branch -D verionNumber
  •   功能使用: http://blog.51cto.com/xiong51/2089848
  6: Gitlab
  // 基于浏览器访问Git服务器
  N: FAQ 一些碰到的问题整理
  git下载地址:
  https://mirrors.edge.kernel.org/pub/software/scm/git/
  1:git安装
  1.1:安装git环境准备
yum -y install gcc openssl openssl-devel curl curl-devel unzip perl perl-devel expat expat-devel zlib zlib-devel asciidoc xmlto gettext-devel openssh-clients  1.2:创建用户及配置家目录
[root@testss git]# useradd -r -s /bin/bash -d /home/git git  
[root@testss git]# mkdir /home/git
  
[root@testss git]# chown git.git /home/git/ -R
  1.3:编译安装
[root@testss git-2.9.5]# tar xf git-2.9.5.tar.xz  
[root@testss git-2.9.5]# cd git-2.9.5
  
[root@testss git-2.9.5]# ./configure --prefix=/usr/local/git --with-openssl --with-libpcre
  
[root@testss git-2.9.5]# make -j 2 && make -j 2 install
  1.4:环境及用户权限配置
[root@testss git-2.9.5]# echo "export PATH=/usr/local/git/bin/:$PATH" > /etc/profile.d/git.sh  
[root@testss git-2.9.5]# source !$
  

  
[root@testss git-2.9.5]# cat /etc/passwd  将/bin/bash改为如下
  
    git:x:496:496::/home/git:/usr/local/git/bin/git-shell
  

  
// 说明:git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git 用户指定的git-shell每次一登录就自动退出
  1.5:配置帮助文件
[root@testss git-2.9.5]# /usr/local/git/share  
[root@testss share]# ln -sv man/ /usr/share/
  1.6:查看版本
[root@testss share]# git --version  
  git version 2.9.5
  2: 认证及配置仓库
  2.1:认证
[root@testss share]# ssh-keygen  
Generating public/private rsa key pair.
  
Enter file in which to save the key (/root/.ssh/id_rsa):
  
Created directory '/root/.ssh'.
  
Enter passphrase (empty for no passphrase):
  
Enter same passphrase again:
  
Your identification has been saved in /root/.ssh/id_rsa.
  
Your public key has been saved in /root/.ssh/id_rsa.pub.
  
The key fingerprint is:
  
34:25:50:bd:96:f9:63:c7:f8:a3:c7:76:2c:c5:c5:79 root@testss
  
The key's randomart image is:
  
+--[ RSA 2048]----+
  
|      .oo..      |
  
|         o.      |
  
|        o  +   ..|
  
|       . .=    .E|
  
|        S. . o .o|
  
|            = o o|
  
|           . = o |
  
|              B o|
  
|            .+ + |
  
+-----------------+
  

  
// 配置用户权限
  
[root@testss share]# cd /home/git
  
[root@testss git]# mkdir .ssh
  
[root@testss git]# chmod 700 .ssh/
  
[root@testss git]# chmod 600 /home/git/.ssh/authorized_keys
  
[root@testss git]# chown git.git .ssh/ -R
  

  
//初始化密码
  
[root@testss git]# echo "xiong" | passwd --stdin git
  

  
//建立双机互信
  
[root@testss git]# cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
  

  
// git免密登陆
  
[root@testss git]# cat ~/.ssh/id_rsa.pub > /home/git/.ssh/authorized_keys
  2.2:服务端初始化仓库
[root@testss git]# mkdir testone            //创建git存储仓库  
[root@testss git]# chown git.git testone/   //设定repo权限
  
[root@testss git]# chmod 755 testone/
  

  
[root@zabbix testone]# mkdir test.git
  
[root@zabbix testone]# cd test.git/
  
[root@zabbix test.git]# git init --bare
  // 语法 git init --bare 仓库名.git
  
初始化空的 Git 仓库于 /home/git/testone/test.git/
  

  
// 到目前为止,这只是一个空仓库,空仓库是不能clone的。为了能clone,我们必须先让某个有权限的人放一个初始化的版本到仓库中,下面用一个用户来克隆
  // 克隆之前先安装一个客户端,如下所示
  3:客户端配置
  提示:没有图的都是一直Next
  3.1:下载地址
  下载地址:git客户端下载地址1   git客户端下载地址2
  3.2:安装
  说明:     文本资源来源于: http://blog.csdn.net/yaojxing/article/details/72902973

  •   (1)图标组件(Addition icons) : 选择是否创建桌面快捷方式。
  •   (2)桌面浏览(Windows Explorer integration) : 浏览源码的方法,使用bash 或者 使用Git GUI工具。
  •   (3)关联配置文件 : 是否关联 git 配置文件, 该配置文件主要显示文本编辑器的样式。
  •   (4)关联shell脚本文件 : 是否关联Bash命令行执行的脚本文件。
  •   (5)使用TrueType编码 : 在命令行中是否使用TruthType编码, 该编码是微软和苹果公司制定的通用编码。
DSC0000.jpg

  // 使用notepad++ 文本编辑器,也可以使用默认的
DSC0001.jpg

  设置环境变量

  •   选择使用什么样的命令行工具,一般情况下我们默认使用Git Bash即可:
  •   (1)Git自带:使用Git自带的Git Bash命令行工具。
  •   (2)系统自带CMD:使用Windows系统的命令行工具。
  •   (3)二者都有:上面二者同时配置,但是注意,这样会将windows中的find.exe 和 sort.exe工具覆盖,如果不懂这些尽量不要选择。
DSC0002.jpg

  选择提交的时候换行格式

  •   (1)检查出windows格式转换为unix格式:将windows格式的换行转为unix格式的换行再进行提交。
  •   (2)检查出原来格式转为unix格式:不管什么格式的,一律转为unix格式的换行再进行提交。
  •   (3)不进行格式转换 : 不进行转换,检查出什么,就提交什么。
DSC0003.jpg

  // 完成安装
DSC0004.jpg

  3.3: 客户端配置
  // 首先配置一下身份,这样在提交代码的时候Git就可以知道是谁提交的了。打开Git Bash,输入下面的命令
git config -global user.name "xiong"  
git config -global user.email "812374156@qq.com"
  3.4: 本地操作
// 创建目录,随便在哪创建都行  
$ cd /D/sss/
  
$ mkdir test.ori
  

  
// 然后就可以开始创建代码仓库了,仓库(Repository)是用于保存版本管理所需信息的地方,所有本地提交的代码都会被提交到代码仓库中,如果有需要还可以再推送到远程仓库中,创建项目名称以及新建项目名:如图
  
$ cd test.ori/
  

  
// 初始化仓库
  
$ git init
  Initialized empty Git repository in D:/sss/test.ori/.git/
  

  
// 新建一个文件
  
$ echo "/*add something*/" > hello
  

  
// 增加一个文件提交,可以忽略这个错误
  
$ git add .
  warning: LF will be replaced by CRLF in hello.
  The file will have its original line endings in your working directory.
  

  
//注释行
  
$ git commit -am "testones"
  

  
// 连接远端服务器 将版本库同步至本机上
  
$ git remote add  origin git@这里是你的git地址:testone/test.git
  

  
$ git push origin master
  
git@这里是你的git地址's password:
  
Counting objects: 3, done.
  
Writing objects: 100% (3/3), 212 bytes | 212.00 KiB/s, done.
  
Total 3 (delta 0), reused 0 (delta 0)
  
To 这里是你的git地址:testone/test.git
  
* [new branch]      master -> master            // 这样就说明提交成功
  提交成功并下载
DSC0005.jpg          DSC0006.jpg

  3.5 测试
  继续克隆一个新的,并检查文件的上传效果
$ mkdir two  
$ cd two/
  

  
$ git init
  Initialized empty Git repository in D:/sss/two/.git/
  
$ git remote add  origin git@192.168.9.19:testone/test.git
  

  
$ git pull origin master
DSC0007.jpg

  3.6 使用pycharm做测试
  // 提交测试  我这里使用的是Pycharm python版本是3.5
  // 第一步
DSC0008.jpg

  // 第二步
DSC0009.jpg

  //第三步 创建一个新的目录
DSC00010.jpg

  // 点yes 然后打开新的窗口
DSC00011.jpg

  // 在gitdir 目录下创建一个文件是红色的,右键git -- add之后是绿色的, 修改之后是蓝色的
DSC00012.jpg   // 这里提示文件是否跟着git服务器,点Yes之后就是绿色的了

DSC00013.jpg

  // 提交文件
DSC00014.jpg

  // 提交文件2
DSC00015.jpg

  // 提交文件3
DSC00016.jpg

  //提交文件4
DSC00017.jpg

DSC00018.jpg

  // 修改提交
DSC00019.jpg

  4: 配置http服务
  // 文档来源:https://www.jianshu.com/p/ff4a7efd63c5

  •   4.1:安装apache
yum -y install httpd httpd-tools

  •   4.2:用户及权限配置
htpasswd -c /etc/httpd/conf.d/git-team.htpasswd git  
chmod 640 /etc/httpd/conf.d/git-team.htpasswd
  
chown -R apache:apache /etc/httpd/conf.d/git-team.htpasswd

  •   4.3:配置文件
  
        // 这里写域名或者IP
  
        ServerName 192.168.1.19
  
        SetEnv GIT_HTTP_EXPORT_ALL
  
        SetEnv GIT_PROJECT_ROOT /home/gitServer
  

  
        // 后成的git-http-backend 如果是源码安装的需要先查找它的位置,这点一定注意,
  
        ScriptAlias /git/ /usr/local/git/libexec/git-core/git-http-backend/
  
        
  
                AuthType Basic
  
                AuthName "Git"
  
                AuthUserFile /etc/httpd/conf.d/git-team.htpasswd
  
                Require valid-user
  
        
  


  •   4.4:仓库配置

    •   // 这里是为了测试新加的一个仓库

mkdir gitServer && cd gitServer  
mkdir demo1 && cd demo1
  

  
// 初始化仓库是必须的
  
git init --bare demo1.git
  

  
//新加的仓库必须加上apache权限
  
chown -R apache:apache .

  •   4.5:访问测试
DSC00020.jpg

  5:功能使用
  //查看日志 git log  查看提交修改了哪些内容
DSC00021.jpg

  // 只查看一条日志  $ git log ed0d70885a461c839a46ae2f802e8a2fde66df65 -1
DSC00022.jpg

  // 如果想要查看这条提交记录具体修改了什么内容,可以在命令中加入 -p参数:$ git log ed0d70885a461c839a46ae2f802e8a2fde66df65 -p
DSC00023.jpg

  // 分支 git branch
  //查看当前版本有哪些分支,如果项目没有创建过任何分支,那么就只会有master存在,也就是主干线
DSC00024.jpg

  //创建一个分支
DSC00025.jpg

  //你会发现master分支的前面有一个"*"号,说明目前我们的代码还是在master分支上的,我们可以用checkout命令将代码切换到别的分支上:
DSC00026.jpg

  // 在分支上修改bug,并提交
DSC00027.jpg

  //在某个分支上修改并提交的代码不会影响到其他的分支,如果我们在version1.0分支上修复了一个bug,在master这个分支上这个bug依然存在,我们可以使用merge命令完成合并操作:
DSC00028.jpg

  这样就可以把version1.0分支上修改并提交的内容合并到master分支上了。
  在合并分支的时候还有可能出现代码冲突的情况,这时候就需要自己慢慢找到并解决这些冲突了。
  // 删除分支  $ git branch -D version1.0
DSC00029.jpg

  // 直接修改源码使用git 提交
  5: Gitlab
  // 基于浏览器访问Git服务器

  •   5.1:安装gitlab:
  •   GitLab是一个数据库支持的开源web应用,可通过Web界面进行访问公开的或者私人项目。它是一个拥有Github类似的功能、实现了自托管的Git项目仓库。所以相比于其他git服务器,它的安装过程涉及到更多的东西。幸运的是,这个过程有非常详细的文档说明和支持,而且在Bitnami(一个产生的开源软件的项目)可以获取一键安装包: 下载地址: gitlab下载    教程目前版本是 ( 10.5.6-0 )


  •   5.2:版本

    •   // 我这里选择使用vmware vmdk安装包,直接下载,然后安装就能直接使用了
      DSC00030.jpg




  •   5.3:安装步骤
      1、打开vmware workstation,选择打开虚拟机、找着下载的vmdk开启,完毕
  •   2、开启之后直接让它自动安装就行
DSC00031.jpg


  •   3、查看地址

    • DSC00032.jpg


      •   4、登陆并注册


      • DSC00033.jpg DSC00034.jpg





  •   5.5: 官网详细说明文档配置

    •   说明文档



  •   5.6:创建一个项目
  •   // 添加ssh-key
  • DSC00035.jpg

DSC00036.jpg


  •   // 先建一个组
  • DSC00037.jpg

      // 创建项目
  • DSC00038.jpg

  // 选择要导入项目  这个url是个BUG,千万不要使用
  // 正确的使用方法,先创建一个gitlab空的仓库,然后再将git中的源码复制进去,这样就能直接配置gitlab了

  N:  FAQ
  http://blog.51cto.com/blogger/publish/2089317



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-584474-1-1.html 上篇帖子: git命令行(2) 下篇帖子: linux下安装git常见故障整理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表