CentOS 7 安装 Git 服务器

服务端:192.168.1.114
客户端:192.168.1.73

一、服务器端安装 Git

1、安装 

yum install git -y

2、查看

# 查看版本
git --version

git version 1.8.3.1

3、服务器端创建 git 仓库

# 新建一个目录
mkdir -p /opt/git

cd /opt/git

# 初始化仓库
git init --bare rubis.git

# 初始化空的 Git 版本库于 /opt/git/rubis.git/
# 使用 --bare 参数初始化的仓库,我们一般称之为裸仓库, 因为这样创建的仓库并不包含工作区 , 
# 也就是说,我们并不能在这个目录下执行我们一般使用的 Git 命令。
# 此时,客户端就可以进行clone或者remote add此仓库了。

# 初始化成功后,查看rubis.git

ls rubis.git

branches  config  description  HEAD  hooks  info  objects  refs

4、创建用户,运行 git 服务

# 创建运行用户
useradd git
passwd git

# 授权
chown -R git:git /opt/git


vi /etc/passwd

# git用户可以正常通过ssh使用git,但无法登录shell
# 因为我们为git用户指定的git-shell每次一登录就自动退出
git:x:1007:1007::/home/git:/bin/bash/git-shell

二、客户端安装 Git

客户端口生成密钥,并把公钥发给我服务器端
具体方法参考:https://blog.csdn.net/mshxuyi/article/details/103067452

客户端操作:这里服务器端用户是刚才创建的 git 用户
ssh-keygen -t rsa
ssh-copy-id git@192.168.1.114

1、安装与配置

# 安装
yum install git -y


# 客户创建用户名和邮箱
# 查看 git config --list

git config --global user.name 'devops'
git config --global user.email 'devops@qq.com'

2、 客户端通过克隆拉取远程仓库

# 创建目录
mkdir -p /opt/dev

# 切换
cd /opt/dev

# 成功后,会在当前目录生成一个 rubis 文件夹
git clone git@192.168.1.114:/opt/git/rubis.git

 3、客户端添加与提交

# 切换
cd /opt/dev/ruibs

# 创建一个文件,并写入内容
vi hello.txt

# 添加到暂存区
git add hello.txt

# 查看状态
git status

# 提交 master 分支
git commit -m 'hello world'

4、把当前仓库 push 上传到 远程仓库

# 首次提交加 -u 
git push -u origin master 

三、分支

通常情况下,当我们需要添加一个新功能的时候,是不能在主分支上 master 直接修改的,这时,需要创建一个新的分支,等功能开发并测试完成之后,再合并到主分支,最后把分支删除。

 1、客户端创建分支

# 创建一个 dev 分支
git branch dev

# 查看分支
git branch

# 切换分支
git checkout dev

# 创建一个文件
vi goods.php

# 添加
git add goods.php

# 提交
git commit -m 'goods.php'

# 同步远程分支,这里服务器自动生成一个 dev 分支
git push --set-upstream origin dev

# 切换主分支 master
git checkout master

# 把dev分支合并到master
git merge dev

# 推送到远程
git push

# 删除本地dev分支
git branch -d dev

# 删除远程服务器 dev 分支
git push origin --delete dev

相关命令

# 信息
git add                     添加到暂存区
git commit                  添加到本地版本库,每次生成一个版本号

# 操作
git add <file>              提交一个文件
git add -A                  提交所有文件

# 日志
git log --oneline           查看提交历史,查看 commit_id
git log -p <file>           查看指定文件提交历史
git blame <file>            以列表形式查看指定文件提交历史

# 撤消
git checkout <file>               拉取暂存区文件 并将其替换成工作区文件
git reset HEAD <file>             拉取最近一次提交到版本库的文件到暂存区  改操作不影响工作区

# 回滚
git reset --hard HEAD             回退到当前版本号
git reset --hard HEAD^            回退到上一次版本号
git reset --hard <commit_id>      回退到特定版本号
git reflog                        查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

# 分支
git branch                  查看本地分支
git branch -v               查看本地和远程分支
git branch <branch>         创建分支
git checkout <branch>       切换分支
git branch -d <branch>      删除本地分支
git checkout -b <branch>    创建并切换分支

git merge <branch>          合并某分支到当前分支
git branch -vv              查看分支关联

# 远程操作
git remote -v                         查看远程版本库信息
git remote update origin              本地更新远程的分支
git remote show <remote>              查看远程指定版本库信息
git remote add origin https://***     添加远程仓库

三、本地如何拉取,推送指定远程分支

git  pull     从远程拉取最新版本到本地   自动合并 merge
git  fetch   从远程获取最新版本到本地   不会自动合并 merge

pull操作

1、将远程指定分支 拉取到 本地指定分支上:

git pull origin <远程分支名>:<本地分支名>

2、将远程指定分支 拉取到 本地当前分支上:

git pull origin <远程分支名>

3、将与本地当前分支同名的远程分支 拉取到 本地当前分支上(需先关联远程分支)

git pull origin

push操作

1、将本地当前分支 推送到 远程指定分支上

git push origin <本地分支名>:<远程分支名>

2、将本地当前分支 推送到 与本地当前分支同名的远程分支上

git push origin <本地分支名>

3、将本地当前分支 推送到 与本地当前分支同名的远程分支上(需先关联远程分支)

git push origin

将本地分支与远程同名分支相关联,成功后,远程端自动创建一个与本地同名分支

git push --set-upstream origin <本地分支名>

四、新仓库提交

git init                                初始化仓库
git add .(filename)                     添加文件到本地仓库
git commit -m "first commit"            添加文件描述信息
git remote add origin + 远程仓库地址     链接远程仓库,创建主分支
git pull origin master                  把本地仓库的变化连接到远程仓库主分支
git push -u origin master               把本地仓库的文件推送到远程仓库

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值