迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Git >

Git安装及建立本地仓库服务

作者:迹忆 最近更新:2022/12/04 浏览次数:

git属于分布式版本控制系统:客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。它有以下几个优点:

a. 由于任何人每次提取操作,实际上都是一次对代码仓库的完整备份,因此近乎所有的操作都可以在本地执行,速度就是相当的快,并且可以在 网络断开的时候操作仍然不受影响,可以频繁的进行提交更新,等到有网络的时候再上传到远程的镜像仓库就可以了。

b. 文档很详细,并且命令行的提示也很到 位,用起来比较得新应手,而且很多的设置与操作跟linux操作很相近(不亏是linux之父创造的)。

c. git的分支模型,相当的轻量级,被称为“必 杀技”。

下面我们来看一下如何在linux系统上安装git

Git安装

首先下载git-2.7.3.tar.gz

$ wget https://www.kernel.org/pub/software/scm/git/git-2.7.3.tar.gz

然后解压源码包,进入源码目录进行安装。

$ tar –zxvf git-2.7.3.tar.gz
$ ./configure
$ make && make install

如果顺利的话,经过上述步骤就可以安装成功git了。

这里需要注意的是安装git需要有gcc和zlib的支持。所以在安装git之前,我们需要确保我们的系统已经安装了这两个工具。

Git建立本地仓库服务

首先我们在github上clone一个项目到本地。

$ git clone https://github.com/onmpw/phpApp.git

然后我们创建一个新的仓库

$ git clone –bare phpApp /opt/phpApp.git
Cloning into bare repository 'phpApp.git'...
done.

这样我们就拥有了一个简单的仓库,在phpApp.git目录中应该有git目录的副本了。

接着我们把新创建的仓库放到服务器上。

$ scp –r /opt/phpApp.git root@192.168.5.101:/opt/phpApp.git

此时,如果用户通过ssh连接这台服务器(5.101)并对/opt拥有可读权限,那就可以通过git克隆仓库了。

$ git clone root@192.168.5.101:/opt/phpApp.git

除此之外,如果一个用户通过ssh登录到服务器,对/opt/phpApp.git目录拥有可写权限的话,那么他将自动拥有推送权限。

通过ssh登录到服务器,去到该项目目录下运行git init 命令,并且加上—shared选项的话,那么Git会自动修改该仓库目录的组权限为可写。

$ ssh root@192.168.5.101
$ cd /opt/phpApp.git
$ git init –shared –bare

到此我们就可以通过ssh的方式克隆我们自己建的仓库并对项目进行推送。

当然了,通常情况下我们要通过git协议来实现我们的仓库服务。通过git协议其实很简单,只需要借助git的一个守护进程(类似于mysqld等服务的开启)。

$ git daemon –reuseaddr –base-path=/opt/ /opt/

该进程监听的端口是9418,所以说如果我们的服务之前有防火墙的话,需要设置防火墙允许9418端口进行通信。--reuseaddr 允许服务器在无需等待旧连接超时的情况下重启,--base-path 选项允许用户在未完全指定路径的条件下克隆项目,结尾的路径将告诉 Git 守护进程从何处寻找仓库来导出。

接下来我们进入项目仓库目录 phpApp.git,在每个仓库下创建一个名为 git-daemon-export-ok 的文件来实现。

$ cd /opt/phpApp.git
$ touch git-daemon-export-ok

该文件将允许Git提供无需授权的项目访问服务。

然后我们可以再次通过git命令来克隆项目,只不过使用的地址是git协议的。

$ git clone git://192.168.5.101/phpApp.git

这里需要注意,因为我们在上面设定了映射的目录为/opt,所以git://192.168.5.101映射到目录/opt ,因此我们在写地址的时候直接是后面跟上项目仓库名称,而不再需要/opt。

好了,上面就是本节为大家介绍的git的安装及创建仓库的方法,希望本文对大家有所帮助。

上一篇:没有了

下一篇:git remote 操作——一个项目多个远程仓库

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Linux 中安装 MySQL 客户端

发布时间:2023/05/09 浏览次数:72 分类:MySQL

在 Linux 中安装 MySQL 客户端的命令。Linux 和 Unix 等环境作为命令行界面工作,仅在命令的帮助下运行。

在 Linux 中安装 Deb 文件

发布时间:2023/05/04 浏览次数:130 分类:操作系统

本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。

在 GoLang 中安装包

发布时间:2023/04/27 浏览次数:122 分类:Go

使用 Go 语言的 get 命令安装所需的包非常容易。 Go 语言提供了多种命令来执行某些任务,get 就是其中之一。

使用 Brew 安装 GoLang

发布时间:2023/04/27 浏览次数:98 分类:Go

本篇文章介绍如何在 Linux 或 macOS 上使用 Brew 安装 GoLang。brew 在 Linux 和 macOS 中安装缺少的包。

卸载和安装 Angular CLI

发布时间:2023/04/14 浏览次数:179 分类:Angular

卸载 Angular CLI 的原因有很多。我们可能希望将 CLI 更新到最新版本,因此我们可能必须从计算机上完全卸载它。

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:223 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类:Git

在这篇检查Git最新版本的文章中,我们将学习如何在本地个人计算机或任何服务器上检查Git版本。

Git 如何重命名本地分支

发布时间:2023/04/09 浏览次数:64 分类:Git

大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便