git 服务器新建仓库 远程仓库
Git 服务器搭建
上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费。
这时我们就需要自己搭建一台Git服务器作为私有仓库使用。
接下来我们将以 Centos 为例搭建 Git 服务器。
1、安装Git
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git
接下来我们 创建一个git用户组和用户,用来运行git服务:
$ groupadd git
$ useradd git -g git
2、创建证书登录
收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
如果没有该文件创建它:
$ cd /home/git/
$ mkdir .ssh
$ chmod 755 .ssh
$ touch .ssh/authorized_keys
$ chmod 644 .ssh/authorized_keys
3、初始化Git仓库
首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/runoob.git,在/home/gitrepo目录下输入命令:
$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo $ git init --bare runoob.git
Initialized empty Git repository in /home/gitrepo/runoob.git/
以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:
$ chown -R git:git runoob.git
4、克隆仓库
$ git clone git@192.168.45.4:/home/gitrepo/runoob.git
Cloning into 'runoob'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
192.168.45.4 为 Git 所在服务器 ip ,你需要将其修改为你自己的 Git 服务 ip。
这样我们的 Git 服务器安装就完成。
现在我们将讨论如何在你自己的服务器上搭建 Git 服务来运行这些协议。
Note
|
这里我们将要演示在 Linux 服务器上进行一次基本且简化的安装所需的命令与步骤,当然在 Mac 或 Windows 服务器上同样可以运行这些服务。 事实上,在你的计算机基础架构中建立一个生产环境服务器,将不可避免的使用到不同的安全措施与操作系统工具。但是,希望你能从本节中获得一些必要的知识。 |
在开始架设 Git 服务器前,需要把现有仓库导出为裸仓库——即一个不包含当前工作目录的仓库。 这通常是很简单的。 为了通过克隆你的仓库来创建一个新的裸仓库,你需要在克隆命令后加上 `--bare`选项 按照惯例,裸仓库目录名以 .git 结尾,就像这样:
$ git clone --bare my_project my_project.git
Cloning into bare repository 'my_project.git'...
done.
现在,你的 my_project.git
目录中应该有 Git 目录的副本了。
整体上效果大致相当于
$ cp -Rf my_project/.git my_project.git
虽然在配置文件中有若干不同,但是对于你的目的来说,这两种方式都是一样的。 它只取出 Git 仓库自身,不要工作目录,然后特别为它单独创建一个目录。
$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git init --bare
Initialized empty Git repository in /opt/git/project.git/
最新文章
- 聊天室(Java实现)
- WPF 四种样式
- Redis并发锁控制
- Eclipse编程时的快捷键总结
- mysql批量替换指定字符串
- Django模板格式
- Android之 -WebView实现离线缓存阅读
- ackerman递归
- HDU 4666
- [Android学习笔记]获取view的尺寸和坐标
- 49. leetcode 94. Binary Tree Inorder Traversal
- Java开发必装的IntelliJ IDEA插件
- nginx多server配置记录
- Android开发 Context详解与类型 转载
- DSB
- 使用css3美化复选框
- 潭州课堂25班:Ph201805201 爬虫基础 第三课 urllib (课堂笔记)
- windows启动项管理
- Linux网桥模式配置
- 【sh文件权限】无法启动tomcat -bash: ./startup.sh: Permission denied
热门文章
- jmeter响应信息unicode 编码转成中文
- rational rose 2003完整汉化版 win7版
- Linux中用户及用户组
- JS 工具函数 方法(其中js的crc32和php的crc32区别)
- 使用Ant编译和构建项目指南
- Android Webview SSL 自签名安全校验解决方案
- Atitit  项目界面h5化静态html化计划---vue.js 把ajax获取到的数据 绑定到表格控件 v2 r33.docx
- http缓存机制之304状态码
- 银联在线支付B2C UnionPay.NET
- Vue.js使用-组件(上篇)