Git安装及建立本地仓库服务
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的安装及创建仓库的方法,希望本文对大家有所帮助。
相关文章
在 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 中安装缺少的包。
检查 Windows 上是否安装了 MongoDB
发布时间:2023/04/20 浏览次数:72 分类:MongoDB
-
本文介绍了四种不同的方法,可帮助您检查 Windows 上是否安装了 MongoDB 软件。
卸载和安装 Angular CLI
发布时间:2023/04/14 浏览次数:179 分类:Angular
-
卸载 Angular CLI 的原因有很多。我们可能希望将 CLI 更新到最新版本,因此我们可能必须从计算机上完全卸载它。
如何在 Windows 系统中卸载 git
发布时间:2023/04/09 浏览次数:223 分类:Git
-
在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。
Git 如何重命名本地分支
发布时间:2023/04/09 浏览次数:64 分类:Git
-
大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。