Git服务器搭建全过程分步详解【转】

简介:

转自:http://developer.51cto.com/art/201507/483448.htm

GitHub是一个免费托管开源代码的Git服务器,如果我们不想公开项目的源代码,又不想付费使用,那么我们可以自己搭建一台Git服务器。

下面我们就看看,如何在Ubuntu上搭建Git服务器。我们使用VMware虚拟机安装两台Ubantu系统,分别命名为gitServer和gitClient_01。

1、安装OpenSSH并配置SSH无密码登陆

通过命令 sudo apt-get install openssh-server,安装SSH服务。

版本控制-搭建git服务器

通过命令 ps –e|grep ssh,查看ssh服务是否启动。

版本控制-搭建git服务器

通过以上命令,我们为Ubantu系统安装SSH服务,并配置SSH无密码登陆,首先我们修改主机和ip配置文件:gedit /ect/hosts

版本控制-搭建git服务器

2、创建用户git,用来管理运行git服务。

 版本控制-搭建git服务器

3、配置无密码SSH登陆

在gitClient_01上,我们使用命令:ssh-keygen –t rsa 生成密钥,如下图

 版本控制-搭建git服务器

完成之后,在.ssh目录下,我们可以看到id_rsa和id_rsa.pub文件,id_rsa.pub为公钥,我们 通过命令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git将gitClient_01上生成的公钥拷贝到gitServer上。

在gitServer上我们首先查看/home/git/.ssh目录下是否存在authorized_kesys文件,

如果没有,可以通过touch authorized_keys创建此文件。

Authorized_keys创建完成后,将gitClient_01上拷贝过来的公钥id_rsa.pub的内容追 加到authroized_keys中,注意是追加到此文件中,可以使用命令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.

以上内容完成后,我们在gitClient_01中,可以使用命令ssh gitServer即可完成无密码登陆。

 版本控制-搭建git服务器

4、安装Git

通过命令 sudo apt-get install git-core,安装git

 版本控制-搭建git服务器

5、建立git仓库的存储目录。

 版本控制-搭建git服务器

6、初始化服务器端仓库

使用命令 git –bare init /home/git/myRep.git,初始化化仓库

版本控制-搭建git服务器

7、在gitClient_01上,通过git clone命令进行克隆远程仓库,并在各自的电脑上运行开发。

Git clone git@gitServer:/home/git/myRep.git

 版本控制-搭建git服务器

通过以上的步骤我们就完成了git服务器的搭建,完成搭建后,我们需要了解一下与git服务器交互过程中所用到命令。主要命令有 git clone、git remote、git fetch、git pull、git push等,下面我们逐一了解

1、git clone

此命令是我们和远程仓库交互的第一步,通过此命令,我们可以将远程版本库克隆到本地,如上面第7步我们就使用了此命令,将远程库克隆道了本地。

语法:git clone 版本库的网址     本地库名称

本地库名称可以省略,省略后在本地会生成一个和远程版本库名字相同的目录。

2、git remote

此命令用于管理远程主机名,此命令在没有参数的情况下可以列出所有主机名。

版本控制-搭建git服务器

显示origin是在使用clone命令,克隆远程版本库时Git自动为远程主机命名。

 版本控制-搭建git服务器

通过命令 git remote –v,可查看版本库的网址。

3、git fetch

此命令可以将远程版本库的更新,更新到本地库。

语法:git fetch 主机名字

 版本控制-搭建git服务器

在默认情况下,git fetch origin将会更新远程主机origin上的所有分支,如果只想更新某个分支,则在主机名origin后面加分支名。

语法:git fetch origin master

4、git push

此命令用于将本地分支的更新推送到远程主机。

语法:git push 远程主机名 本地分支名:远程分支名

如果省略远程分支名,则表示将本地分支推送与存在最终关系的远程分支,如果远程分支不存在,则会被新建。

如:git push origin master,表示将本地master分支推送到origin主机的master分支上。

 版本控制-搭建git服务器

如果省略本地分子名,则表示要删除远程主机中分支,如git push origin : master,则表示删除origin主机中master分支

5、git pull

此命令用于获取远程分支中更新。

语法:git pull 远程主机 远程分支:本地分支如:git pull origin master:master,表示将远程主机origin中的master分支跟新到本地分支master。











本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5182443.html,如需转载请自行联系原作者

相关文章
|
7月前
|
关系型数据库 MySQL 项目管理
YYDS,只用几条命令轻松搭建自己的项目管理平台jira
使用Docker快速搭建Jira的指南:首先确保已安装Docker,然后拉取`cptactionhank/atlassian-jira-software:8.1.0`和MySQL镜像。运行Jira和MySQL容器,分别绑定端口并创建jira数据库。访问Jira服务进行设置,包括选择语言、自定义设置、连接数据库、基础配置、设置密钥及管理员信息。通过Docker,便捷地部署和管理Jira,提升团队项目管理效率。
|
7月前
智能仓库管理能够解决仓库中那些棘手问题?
随着公司的不断发展,在仓库管理中对于信息的处理就变得越来越复杂,每天需要处理的数据也变得非常庞大,如果只靠人手手工去盘点和录入数据,不仅效率低下,而且精准率也不高,在实际运作中同时存在如下问题:
61 1
|
7月前
|
安全 Linux iOS开发
技术文档 | 使用 OpenSCA 批量扫描 Gitlab 仓库,盘点资产安心过节
按照下述教程快速批量扫描您的仓库,一旦新的攻击或0Day出现,通过资产清单即可快速定位漏洞及影响范围、有效缩短响应时间。
104 1
|
5月前
|
SQL 监控 测试技术
软件交付问题之项目发布后要关注监控的有效性,如何解决
软件交付问题之项目发布后要关注监控的有效性,如何解决
|
7月前
|
存储 数据采集 运维
云效产品使用报错问题之给公司同事配置了权限,但是看不见项目,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
Kubernetes 前端开发 Go
上篇:带你手工体验从写代码、编译、打包镜像、部署到K8S的全过程
上篇:带你手工体验从写代码、编译、打包镜像、部署到K8S的全过程
436 0
|
开发工具 C语言 git
从私有Git仓库的搭建到命令的使用再到分支管理,全流程全套服务包您满意(二)
Git是一款开源的分布式版本控制系统,可以有效,高速处理从很小到非常大的项目版本管理。 Git是通过C语言开发实现的。
157 0
从私有Git仓库的搭建到命令的使用再到分支管理,全流程全套服务包您满意(二)
|
Ubuntu 数据可视化 Linux
从私有Git仓库的搭建到命令的使用再到分支管理,全流程全套服务包您满意(一)
Git是一款开源的分布式版本控制系统,可以有效,高速处理从很小到非常大的项目版本管理。 Git是通过C语言开发实现的。
149 0
从私有Git仓库的搭建到命令的使用再到分支管理,全流程全套服务包您满意(一)
|
网络安全 开发工具 C语言
从私有Git仓库的搭建到命令的使用再到分支管理,全流程全套服务包您满意(三)
Git是一款开源的分布式版本控制系统,可以有效,高速处理从很小到非常大的项目版本管理。 Git是通过C语言开发实现的。
256 0
从私有Git仓库的搭建到命令的使用再到分支管理,全流程全套服务包您满意(三)
|
存储 前端开发 小程序
实战独立项目「几行字」:从想法到上线全过程
这个项目从想法、画原型、写前端、做设计、部署、搞后端、后台一整套,从想法到实现
497 0
实战独立项目「几行字」:从想法到上线全过程