搭建内部局域网的git服务器及注意事项说明

环境:

服务器  centos7  + git (version2.17.0);

客户端  windows10 + git(version 2.16.3windows1)

  1. 安装最新版本的git
  1. 使用命令yum install -y git安装的是(centos中自带的git版本,centos7最高版本是git1.8),可在该网址上https://github.com/git/git/releases查看最新的git版本;
  2. 安装之前先,使用 git –version命令查看是否已经安装,若没有可直接安装,若已经存在旧版本,可以先使用yum remove git进行卸载;
  3. 下载最新版本

wget https://github.com/git/git/archive/v2.17.0.tar.gz;

  1. 解压  tar zxvf v2.17.0.tar.gz
  2. 进入解压后的版本进行编译安装

cd git-2.17.0

make prefix=/usr/local/git all

make prefix=/usr/local/git install

echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile

source /etc/profile   

  1. 查看git版本

Git –version  git version 2.17.0.

  1. 创建git用户组及用户

Groupadd git

Useradd git -g git

Passwd git

  1. 禁用shell登陆

Root用户编辑/etc/passwd文件

git:x:1001:1001::/home/git:/bin/bash初始化

修改为:

git:x:1001:1001::/home/git:/usr/local/git/bin/git-shell

  1. 初始化git仓库

在home/git用户目录下创建 mkdir test.git

Cd test.git 

Git –bare init

Chown -R git:git /home/git/test.git

  1. 创建证书登陆:
  1. 切换到git用户中  su git;
  2. 查看/home/git目录下是否又.ssh文件 cd /home/git, ls -a;

  1. 若没有创建.ssh文件mkdir .ssh ;
  2. 同时只有git用户有读写执行的权限  chmod 700 .ssh;
  3. 生成公私钥文件:ssh-keygen -t rsa;
  4. 创建authorized_keys文件  touch  authorized_keys;

注意:将.ssh文件夹赋予700的权限,authorized_keys文件赋予600的权限。

  1. 客户端用户向管理员提交公钥文件:

将客户端用户生成的rd_rsa.pub文件发送给服务器,将客户端的公钥文件内容拷贝到authorized_keys文件中

Catrd_rsa.pub >> authorized_keys

 

 

注意事项:

  1. Git错误提示:fatal: Not a git repository (or any of the parent directories): .git

由于没有初始化git本地版本管理仓库,所以无法执行git命令;

解决方式:在操作之前执行以下命令:git init

  1.  初始化客户端工作环境(重要):

Git config --global user.name “username”

Git config --global user.email email@163.com

Git config --global core.editor vim

  1. 客户端使用步骤如下:
  • 初始化git进入一个空的工作目录中:git init
  • 新建一个文件并编辑后保存需要上传到远程echo “test add code git repository”>readme.txt
  • 把新增的文件增加到暂存区中: git add readme.txt
  • 提交文件到本地仓库中并添加注释信息: git commit -m “提交新增的文件到dev分支中”
  •  将分支信息推送到远程服务器中: git push origin 分支名称
  • 远程分支信息合并到主分支上:1)先切换到master分支上 git checkout master ;2)多人开发需要把远程master上的pull下来git pull origin master;3)把远程分支的信息合并到主分支master上 git merge 远程分支。
  1. 创建远程分支步骤:
  1. 首先创建本地分支  git branch 分支名test;
  2. 再切换到本地分支   git checkout 分支名test;
  3. 远程分支就是本地分支push到服务器上的   git push origin 分支名test;
  4. 查看分支目录  git branch -a 所有分支名称显示出来,包含本地分支及远程分支;
  5. 提交分支数据到远程服务器

  git push origin <local_branch_name>:<remote_branch_name>;

说明:若当前不在本地分支中,可使用上面的方式提交,若在本地分支,可以直接git push origin remote_branch_name。

常用技巧:

查看当前文件与git版本库中的差别:git diff 当前文件名称

将当前工作目录中的所有文件都一起添加到暂存区域中 git add .

保留工作区的文件,删除暂存区的文件:   git rm --cache 文件名称

从Git暂存区和工作目录中一起删除:   git rm -f 文件名称

删除Git版本仓库内的文件快照:    git rm 文件名称

查看所有的历史记录: git reflog

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值