从私有Git仓库的搭建到命令的使用再到分支管理,全流程全套服务包您满意

文章目录

1. Git是什么?

Git是一款开源的分布式版本控制系统,可以有效,高速处理从很小到非常大的项目版本管理。 Git是通过C语言开发实现的。

2. Git与SVN的比较

Git和SVN是两种截然不同的版本控制系统,Git是分布式版本控制系统,而SVN则是集中式版本控制系统。要想比较Git和SVN的区别,首先需要了解分布式版本控制系统和集中式版本控制系统的基本概念。
集中式版本控制系统:一个显著的特征是版本库是存放在中央服务器上的,由中央服务器统一管理项目的版本信息和分支信息。团队中的每个成员在工作时都需要先从中央服务器上拉取最新的代码,然后开始干活。干完活之后再将代码提交到中央服务器上。集中式版本服务器有两个弊端:

  1. 必须联网才能工作,当没有网络或者网络很差时,则团队中的成员无法协同工作。
  2. 安全性不好,因为版本库存放在了中央服务器,当中央服务器损坏时则会丢失版本库,使所有成员都没法工作。

集中式版本控制系统的网络拓扑图如下图所示:
在这里插入图片描述
可以看出团队中所有成员的工作电脑都只与中央服务器打交道。如果把版本库比做书库的话,那么每个人(每个电脑)都需要先从书库借到书(拉取最新的代码),阅读完之后然后还给书库(修改之后提交到中央服务器)

分布式版本控制系统: 与集中式版本控制系统最大的不同是团队中所有成员的工作电脑上都有一个完整的版本库,并且没有中央服务器。,这就相当于团队中每个成员都有一个自己的小书库(版本库),成员之间可以互相交换自己书库中的图书(将自己的修改提交给对方)。这里完全不需要中央服务器来管理协调管理。
在实际使用分布式版本控制系统时,其实很少在两人之间的电脑上进行版本库推送,这是因为有时候你们不在同一个局域网内,或者你同事的电脑关机了。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。这台充当“中央服务器”的电脑上的版本库称之为远程版本库,其他成员电脑上的版本库称之为本地版本库。后面会详细介绍。

分布式版本控制系统的网络拓扑图如下图所示:

在这里插入图片描述
分布式版本控制系统剔除了中央服务器,这充分体现了分布式的核心概念,就是去中心化。这样带来的好处有两点:

  1. 没有网络也能上班:团队中的每个成员在没有网络的情况下也能工作,因为本地有完整的版本库,不需要担心数据的丢失。
  2. 数据更安全:当某个成员的电脑坏掉了不要紧,只需要从其他成员的电脑上复制一份即可。但是集中式版本控制系统的中央服务器出问题,则可能会丢失版本库,使得所有人都没法工作。

3. 系统环境

系统版本
WindowsWindows10
LinuxUbuntu16.04

4. 安装Git客户端

说完了Git的基本概念,接下来还是安装个Git客户端下来耍一耍。这里分不同的操作系统简单的介绍一下Git客户端的安装。

Linux系统下

首先通过git --version 命令查看电脑上是否已经安装了Git客户端。
在这里插入图片描述
如果已经安装了就可以跳过此章节。如果没有安装的话就接着往下面看:
Linux系统有不同的发行版本,可以通过cat /proc/version 命令查看Linux的版本。

  1. Debian或Ubuntu下安装Git
    在 Debian或Ubuntu可以通过apt包管理工具安装Git,命令如下:
sudo apt-get install git
  1. Red Hat 或者CentOS下安装Git
    Red Hat 或者CentOS下可以通过yum包管理工具安装Git,命令如下:
yum install git -y

如果找不到yum命令的话,则需要先安装yum工具。可以参考下面命令

#删除yum.repos.d目录下所有文件
rm -f /etc/yum.repos.d/*
#然后重新下载阿里的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#清理缓存
yun clean all

Windows系统下

Git的官方下载地址是:Git的下载地址
在这里插入图片描述
下载好安装包之后,一直点击下一步即可安装。再次就不在赘述。

5.本地版本库操作

Windows下安装好Git之后会出现Git Bash 和Git GUI两个应用程序,其中Git Bash是Git的命令行工具,而Git GUI则是Git的可视化工具(一般很少用)。

创建本地版本库

创建本地版本库分为两步:
第一步是创建一个空文件夹,命名为: git_learn。
第二步就是在该文件夹下执行git init 命令将该文件夹变成git可以管理的版本库。
执行第二步之后,在 git_learn目录下会出现一个名为.git的隐藏文件夹,该文件夹就是git的版本库。切记不要手动修改.git文件夹下的任何内容,以免本地版本库不可用

本地版本库建好之后就可以在git_learn文件夹下创建一个文件进行测试了。这里创建了一个名为readme.txt的文件。
添加到暂存区
通过git add readme.txt命令可以将readme.txt文件提交到暂存区(关于暂存区的概念后面会详细介绍)。如果有多个文件需要添加的话,可以执行git add . 命令。
提交到版本库
因为git的本地都是有完整版本库的,所以还需要将前面创建的readme.txt文件提交到本地版本库的当前分支,默认是master。命令格式是git commit -m '<message>' ,其中写入你的提交备注。

工作区和暂存区

这里有两个很重要的概念,一个是工作区,另一个是暂存区(Git特有的概念)。
工作区
工作区就是你电脑上能看到的目录(不包括隐藏文件),例如:git_learn目录就是一个工作区。

暂存区
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库,其中最重要的是暂存区(stage)。

还有Git为我们自动创建的第一个分支叫master,以及指向master的一个指针叫HEAD。

前面提到了工作区,暂存区,git add命令和git comit 命令。那么他们之间有啥关系呢?下面就用一张流程图展示一下:
在这里插入图片描述
通过add命令将工作区中ABC文件夹提交到暂存区stage,在通过commit命令将stage中的ABC文件夹提交到当前分支master。

管理修改

Git管理的是修改而非文件。这里的修改指的是对工作区的任何操作,包括新增文件;删除文件;修改文件等等。哪怕是在文件中增加一句话或者删除一个字符都可以算是修改。下面就举例说明下,还是以readme.txt文件为例:

  1. 第一次在readme.txt文件中增加一个词语 gittest。然后执行git add readme.txt,并通过命令git status查看状态。
    hello world
    gittest

    在这里插入图片描述
  2. 第二次再在readme.txt文件上添加一行内容git tracks changes
    hello world
    gittest
    git tracks changes

直接执行git commit -m 'git tracks changes'命令。然后通过 git status,可以发现第二次的修改没有提交。这是因为第二次的修改没有先提交到暂存区中。
在这里插入图片描述
我们的操作过程是第一次修改 -> git add -> 第二次修改 -> git commit。当使用git add 命令后,在工作区中的第一次修改被放入暂存区中,准备提交,在工作区中的第二次修改没有被放入暂存区中,所以,git commit只负责把暂存区中的修改提交到当前分支。所以第二次的修改没有提交。
也就是说,所有的修改必须先通过git add 提交到暂存区,然后通过git commit 提交到当前分支。。在实际开发中一般是将所有修改合并起来add,然后在一起commit。

删除文件

当前分支上有一个已经废弃不用的文件,该如何删除呢?比如要删除一个名为test1.txt文件。只需要两行命令。

git rm test1.txt
git commit -m "remove test.txt"

5.Ubuntu搭建私有的git仓库

前面介绍了在实际开发中,一般会拿一台电脑作为“中央仓库”,充当中央仓库的电脑需要安装一个代码仓库软件,这里选用开源软件GitLab,它是基于git实现的在线代码仓库软件,提供web可视化管理界面,可以在本地部署。通常用于企业团队内部协作开发。当然,如果你不想搭建私人的git仓库,那么也可以直接使用最大的同性交友网站Github(使用与GitLab类似)。
那么该如何在Ubuntu上安装GitLab软件,搭建私有的Git仓库呢?

  1. 安装必须的一些服务
#更新apt源
sudo apt-get update
#安装依赖包,运行命令
sudo apt-get install curl openssh-server ca-certificates postfix
sudo apt-get install -y postfix
  1. 接着信任 GitLab 的 GPG 公钥:
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null  
  1. 配置镜像路径
    由于国外的下载速度过慢,所以配置清华大学镜像的路径。
sudo vi /etc/apt/sources.list.d/gitlab-ce.list  

在该文件中写入如下代码

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main 
  1. 安装gitlab-ce
sudo apt-get update
sudo apt-get install gitlab-ce

安装gitlab-ce成功之后。

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:从私有Git仓库的搭建到命令的使用再到分支管理,全流程全套服务包您满意

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值