Git仓库安装及使用

IP主机名节点
192.168.117.14git_servergit服务端
192.168.117.15git_clientgit客户端

YUM源安装Git

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

编译安装Git(以服务端为例)

1.安装依赖库和编译工具

[root@git_server ~]# yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel wget
[root@git_server ~]# yum install -y gcc perl-ExtUtils-MakeMaker

2.下载官方源码包并解压,官方下载地址(https://mirrors.edge.kernel.org/pub/software/scm/git)

[root@git_server ~]# cd /usr/local/src/
[root@git_server src]# wget https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz
[root@git_server src]# tar zxvf git-2.10.0.tar.gz

3.创建安装目录,编译安装

[root@git_server ~]# mkdir /usr/local/git
[root@git_server ~]# cd /usr/local/src/git-2.10.0
[root@git_server git-2.10.0]# ./configure --prefix=/usr/local/git/ && make install

4.配置环境变量并生效配置

[root@git_server ~]# echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
[root@git_server ~]# source /etc/bashrc
[root@git_server ~]# git --version
git version 1.8.3.1

Git初始配置及实验环境准备

1.创建git账号

[root@git_server ~]# useradd git
[root@git_server ~]# echo 'git' | passwd --stdin git
Changing password for user git.
passwd: all authentication tokens updated successfully.

2.使用git用户初始化git仓库,创建测试文件

[root@git_server ~]# su - git
[git@git_server ~]$ git init --bare project1.git
Initialized empty Git repository in /home/git/project1.git/
[git@git_server ~]$ cd project1.git/  
[git@git_server project1.git]$ git config --global user.email "82900528@qq.com"
[git@git_server project1.git]$ git config --global user.name "gqd"
[git@git_server project1.git]$ echo '123' > file1.txt  //创建测试文件
[git@git_server project1.git]$ git init  //初始化
[git@git_server project1.git]$ git add file1.txt  //将文件添加至暂存区
[git@git_server project1.git]$ git commit -m 'v1'  //提交第一次更改

3.服务端git用户和客户端root用户,配置双向免密登录

[ 服务端 ]
[git@git_server ~]$ ssh-keygen
[git@git_server ~]$ ssh-copy-id root@192.168.117.15

[ 客户端 ]
[root@git_client ~]# ssh-keygen
[root@git_client ~]# ssh-copy-id git@192.168.117.14

4.限制git用户登录

[git@git_server ~]$ su -
[root@git_server ~]# usermod git -s /usr/bin/git-shell

5.客户端修改git配置,克隆服务端的project1仓库至本地

[root@git_client ~]# git config --global user.name 'gqd'
[root@git_client ~]# git config --global user.email '82900528@qq.com'
[root@git_client ~]# mkdir git/
[root@git_client ~]# cd git/
[root@git_client git]# git clone git@192.168.117.14:/home/git/project1.git

Git仓库使用

1.查看远程分支、查看本地分支、查看全部分支;

[root@git_client project1]# git branch -r  //查看远程分支
[root@git_client project1]# git branch  //查看本地分支
[root@git_client project1]# git branch -a  //查看全部分支

2.创建本地分支devserver1-6,创建dev分支并立即切换;

[root@git_client project1]# git branch devserver1
[root@git_client project1]# git branch devserver2
[root@git_client project1]# git branch devserver3
[root@git_client project1]# git branch devserver4
[root@git_client project1]# git branch devserver5
[root@git_client project1]# git branch devserver6
[root@git_client project1]# git checkout -b dev
Switched to a new branch 'dev'

3.切换回主分支,并查看当前所在分支;

[root@git_client project1]# git checkout master
Switched to branch 'master'
[root@git_client project1]# git branch  
  dev
  devserver1
  devserver2
  devserver3
  devserver4
  devserver5
  devserver6
* master

4.在分支devserver1里创建一个test.txt,并切换回主分支查看是否存在这个test.txt文件;

[root@git_client project1]# git checkout devserver1  //切换devserver1分支
Switched to branch 'devserver1'
[root@git_client project1]# touch test.txt  //创建test文件
[root@git_client project1]# git add test.txt  //添加test文件至暂存区
[root@git_client project1]# git commit -m 'v1'  //提交更改
[root@git_client project1]# git checkout master  //切换至主分支
[root@git_client project1]# ll
total 0

5.合并devserver1和主分支,查看主分支里是否有test.txt文件;

[root@git_client project1]# git merge devserver1
[root@git_client project1]# ll
total 0
-rw-r--r-- 1 root root 0 Mar 17 04:42 test.txt

6.删除本地分支devserver1,查看剩下所有分支;

[root@git_client project1]# git branch -d devserver1
[root@git_client project1]# git branch
  dev
  devserver2
  devserver3
  devserver4
  devserver5
  devserver6
* master

7.推送本地分支devserver2-6到远端服务器,并查看是否成功;

[ 客户端 ]
[root@git_client project1]# git remote -v  //查看与远程服务器是否连接
[root@git_client project1]# git push origin devserver2
[root@git_client project1]# git push origin devserver3
[root@git_client project1]# git push origin devserver4
[root@git_client project1]# git push origin devserver5
[root@git_client project1]# git push origin devserver6

[ 服务端 ]
[git@git_server project1.git]$ git branch
  devserver2
  devserver3
  devserver4
  devserver5
  devserver6
* master

8.运用三种办法删除远端分支devserver2-4;

[root@git_client project1]# git push origin --delete devserver2
[root@git_client project1]# git push origin :devserver3
[root@git_client project1]# git branch -r -d origin/devserver4

9.在远程创建分支linuxgit,并拉取分支到本地客户端服务器上;

[ 服务端 ]
[git@git_server project1.git]$ git branch linuxgit

[ 客户端 ]
[root@git_client project1]# git fetch origin linuxgit:linuxgit

10.如何快速有效的拉取远程服务端的全部分支;

[root@git_client project1]# git checkout dev  //切换到本地有、而远程没有的一个分支上,避免冲突
[root@git_client project1]# git branch -r | grep -v '\->' | cut -d'/' -f2 | xargs -n1 -i git fetch origin {}:{}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值