centos7系统安装git及基本使用

环境说明:
git服务端:centos7.6 192.168.1.250
git客户端:centos6.5 192.168.1.251

1.服务端安装git:
yum -y install git

2.服务端创建仓库:
mkdir /git 创建工作区
cd /git
git init 创建版本库

3.服务端创建用户:
useradd git 创建git用户
passwd git 配置git用户密码
groupadd git 创建git组
chown git.git /git -R 赋权限

4.禁止git用户shell登录:
vim /etc/passwd
git❌502:502::/home/git:/bin/bash
改为
git❌502:502::/home/git:/usr/local/git/bin/git-shell 后面的路径不存在,存在才能这样改
或者
git❌502:502::/home/git:/usr/bin/git-shell yum安装的git有此路径,应该改成这个
git❌502:502::/home/git:/bin/false 改成这样后,无法使用git用户去git clone,亲测过

5.linux客户端服务器基本使用:
安装git命令:yum -y install git
创建项目存放路径:mkdir /opt/c
拉取项目:git clone git@192.168.1.250:/git /opt/c 使用的是ssh协议

6.客户端加入项目并提交到远程仓库:
cd /opt/c
vim 1.txt
111222

git add 1.txt 也可以用git add . 代表添加目录下所有文件
git commit 1.txt -m “change 1.txt” -m为此次修改添加备注,引号内为备注说明内容
git push -u origin master 推送修改到远程仓库
git push origin master 第一次推送成功后,第二次修改后可以用此命令推送到远程仓库
如果没有前面的git clone那么第一次提交就需要绑定远程仓库,命令如下:
git remote add origin git@192.168.1.250:/git

7.windows安装客户端:
去官网或者软件工具下载git,此处使用360软件管家下载了git和git小乌龟,自带中文语言包一起下载安装。
windows桌面右键–>小乌龟git–>设置–>填写名称和email–>确定
在这里插入图片描述
在桌面创建一个目录用来存放项目,此处创建目录名为aaa,然后桌面右键git克隆,填写URL和本地目录,如下图,密码为第3步创建git用户设置的密码:
在这里插入图片描述

问题解决:
1在使用Git Push代码到数据仓库时,提示如下错误:
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require ‘git reset --hard’ to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set ‘receive.denyCurrentBranch’ configuration variable to
remote: error: ‘ignore’ or ‘warn’ in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: ‘receive.denyCurrentBranch’ configuration variable to ‘refuse’.
To git@192.168.1.X:/var/git.server/…/web
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to ‘git@192.168.1.X:/var/git.server/…/web’
解决方法:
这是由于git默认拒绝了push操作,需要进行设置,修改.git/config文件后面添加如下代码:
[receive]
denyCurrentBranch = ignore

2.无法查看push后的git中文件的原因与解决方法:
在初始化远程仓库时最好使用:git --bare init

3.git init 和git --bare init 的具体区别:http://blog.haohtml.com/archives/12265
如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内容。
解决方法:
必须得使用命令 git reset --hard 才能看到push后的内容.
研究了很久不得其解,然后找到一条命令凑合着能用了:
登录到远程的那个文件夹,使用
git config --bool core.bare true

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值