阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu下Git服务器的搭建与使用指南

474次阅读
没有评论

共计 5701 个字符,预计需要花费 15 分钟才能阅读完成。

一、前言

Git 是一款免费、开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。在平时的项目开发中,我们会使用到 Git 来进行版本控制。

Git 的功能特性:

从一般开发者的角度来看,git 有以下功能:

1、从服务器上克隆数据库(包括代码和版本信息)到单机上。
2、在自己的机器上创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、新建一个分支,把服务器上最新版的代码 fetch 下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用 pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git 有以下功能:

1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。关于 Git 服务器的搭建过程,网上有很多的方法,本文主要是谈谈 Git 服务器搭建好之后,如何使用以及怎么使用的问题,比如权限设置、跨平台使用等。

PS: 对于 Git 服务器的搭建,本文提供以下链接,以供参考。

Ubuntu 完美安装搭建 Git 服务器  http://www.linuxidc.com/Linux/2015-07/120616.htm

GitHub 教程系列文章

GitHub 使用教程图文详解  http://www.linuxidc.com/Linux/2014-09/106230.htm 

Git 标签管理详解 http://www.linuxidc.com/Linux/2014-09/106231.htm 

Git 分支管理详解 http://www.linuxidc.com/Linux/2014-09/106232.htm 

Git 远程仓库详解 http://www.linuxidc.com/Linux/2014-09/106233.htm 

Git 本地仓库(Repository)详解 http://www.linuxidc.com/Linux/2014-09/106234.htm 

Git 服务器搭建与客户端安装  http://www.linuxidc.com/Linux/2014-05/101830.htm 

Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm 

分享实用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm 

二、Git 服务器操作和使用指南

1、Ubuntu 下安装 git 和使用 git 服务器

在终端输入 sudo apt-get install git 命令,安装 git

以下截图及步骤均以 hesonglin@master 这台虚拟机操作为例

Ubuntu 下 Git 服务器的搭建与使用指南

Your Name 和 Email 随意填写,目的是用来标识 git 身份

新建一个文件夹如:

Ubuntu 下 Git 服务器的搭建与使用指南

输入 git init 命令,将此文件夹初始化为一个 git 仓库(空仓库)

Ubuntu 下 Git 服务器的搭建与使用指南

输入 ssh-keygen –t rsa 命令生成 ssh 公钥(出现停顿按回车即可)

Ubuntu 下 Git 服务器的搭建与使用指南

在主文件夹目录下会生成一个.ssh 文件夹(若无则按 Ctrl + H 使之显示)

Ubuntu 下 Git 服务器的搭建与使用指南

在本虚拟机上 repository 目录下新建一个目录 gitadmin 用于存放 gitosis-admin.git 仓库如:

Ubuntu 下 Git 服务器的搭建与使用指南

将 Git 服务器中 gitosis-admin.git 仓库 clone 下来(git@218.108.45.14 是我建的 Git 服务器相应的换成你建的 Git 服务器即可)

Ubuntu 下 Git 服务器的搭建与使用指南

Clone 正确会显示如下信息

Ubuntu 下 Git 服务器的搭建与使用指南

clone 下来会有一个 gitosis.conf 的配置文件和一个 keydir 的目录。gitosis.conf 用于配置用户的权限信息,keydir 主要用户存放 ssh 公钥文件(一般以“用户名.pub”命名,gitosis.conf 配置文件中需使用相同用户名),用于服务器认证请求的客户端机器。

将本机器上生成相应的.ssh 文件夹中的 id_rsa.pub 公钥文件,按用户名命名为如 hesonglin@master.pub,复制到 keydir 目录下

Ubuntu 下 Git 服务器的搭建与使用指南

编辑 gitosis.conf 文件,设置权限

Ubuntu 下 Git 服务器的搭建与使用指南

将本机用户名 (如 hesonglin@master) 添加,并赋予权限

Ubuntu 下 Git 服务器的搭建与使用指南

这些配置的修改只是在本地修改的,还需要推送到服务器中才能生效

Ubuntu 下 Git 服务器的搭建与使用指南

Ubuntu 下 Git 服务器的搭建与使用指南

上述的 git add . 和 git commit –am“add a user”是保存和提交到本地

Ubuntu 下 Git 服务器的搭建与使用指南

git push origin master 表示将上述修改内容推送到 Git 服务器

推送成功会显示下面提示信息

Ubuntu 下 Git 服务器的搭建与使用指南

至此,Git 服务器就有和上述配置的 keydir 和 gitosis.conf 一样的信息

如我在 Git 服务器中已创建好了一个 teamwork.git 仓库用来管理项目如下图:

Ubuntu 下 Git 服务器的搭建与使用指南

那么,现在就可以在本机上从 Git 服务器中 clone teamwork.git 以及做了修改后进行推送到 git 服务器

首先在本机先创建一个文件夹 myrepository

Ubuntu 下 Git 服务器的搭建与使用指南

进入到 myrepository 下克隆 teamwork.git

Ubuntu 下 Git 服务器的搭建与使用指南

得到 teamwork.git 仓库如下图所示

Ubuntu 下 Git 服务器的搭建与使用指南

现在在本地的 teamwork.git 仓库中新建 readme 文件,然后进行提交和推送

Ubuntu 下 Git 服务器的搭建与使用指南

Ubuntu 下 Git 服务器的搭建与使用指南

每当 Git 服务器中 teamwork.git 仓库有更新时,可以在本机上通过 git pull 命令获取最新版本的数据(注意要到 teamwork 目录内)

Ubuntu 下 Git 服务器的搭建与使用指南

此时本机 teamwork.git 仓库中就有了其他开发机推送的最新版本的数据(如果其他开发机 push 了最新数据)。

至此,本虚拟机就可以从 Git 服务器进行 pull 和 push 操作了。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-07/120617p2.htm

2、在 windows 上对 Git 服务器进行 pull 和 push

首先下载安装 windows 版本的 git 客户端软件,下载地址:http://msysgit.github.io/

安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明 Git 安装成功!(Windows 以 chang@CHANG-PC 为例)

Ubuntu 下 Git 服务器的搭建与使用指南

按照 Ubuntu 中的方法将.ssh 文件夹中的 id_rsa.pub 文件按用户名命名成 chang@CHANG-PC.pub,复制到 keydir 文件夹,修改 gitosis.conf 文件,进行提交和推送到 git 服务器。

获取之前在 Ubuntu 中推送的内容如下图

Ubuntu 下 Git 服务器的搭建与使用指南

打开相应的文件夹,里面已经有了在 Ubuntu 下新建的文件 readme

Ubuntu 下 Git 服务器的搭建与使用指南

再在 windows 下新建一个文件 experiment.txt

在本地添加、提交,然后推送到 git 服务器

Ubuntu 下 Git 服务器的搭建与使用指南

Ubuntu 下 Git 服务器的搭建与使用指南

Ubuntu 下 Git 服务器的搭建与使用指南

使用 git pull 命令就会获得 git 服务器上的最新更新(下图表示的是此时已是最新版本)

Ubuntu 下 Git 服务器的搭建与使用指南

同理,这时你也可以再 Ubuntu 虚拟机下 pull 获取 teamwork 仓库项目的最新版本。

这样在不同开发机之间通过 git 实现版本控制。

如果您有什么不理解的地方欢迎留言交流,文中有误导您的地方,希望海涵并给予指正。如果您觉得文章对您有所帮助,您的留言和推荐将对我是莫大的鼓舞!

Git 的详细介绍:请点这里
Git 的下载地址:请点这里

更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120617.htm

一、前言

Git 是一款免费、开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。在平时的项目开发中,我们会使用到 Git 来进行版本控制。

Git 的功能特性:

从一般开发者的角度来看,git 有以下功能:

1、从服务器上克隆数据库(包括代码和版本信息)到单机上。
2、在自己的机器上创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、新建一个分支,把服务器上最新版的代码 fetch 下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用 pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git 有以下功能:

1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。关于 Git 服务器的搭建过程,网上有很多的方法,本文主要是谈谈 Git 服务器搭建好之后,如何使用以及怎么使用的问题,比如权限设置、跨平台使用等。

PS: 对于 Git 服务器的搭建,本文提供以下链接,以供参考。

Ubuntu 完美安装搭建 Git 服务器  http://www.linuxidc.com/Linux/2015-07/120616.htm

GitHub 教程系列文章

GitHub 使用教程图文详解  http://www.linuxidc.com/Linux/2014-09/106230.htm 

Git 标签管理详解 http://www.linuxidc.com/Linux/2014-09/106231.htm 

Git 分支管理详解 http://www.linuxidc.com/Linux/2014-09/106232.htm 

Git 远程仓库详解 http://www.linuxidc.com/Linux/2014-09/106233.htm 

Git 本地仓库(Repository)详解 http://www.linuxidc.com/Linux/2014-09/106234.htm 

Git 服务器搭建与客户端安装  http://www.linuxidc.com/Linux/2014-05/101830.htm 

Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm 

分享实用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm 

二、Git 服务器操作和使用指南

1、Ubuntu 下安装 git 和使用 git 服务器

在终端输入 sudo apt-get install git 命令,安装 git

以下截图及步骤均以 hesonglin@master 这台虚拟机操作为例

Ubuntu 下 Git 服务器的搭建与使用指南

Your Name 和 Email 随意填写,目的是用来标识 git 身份

新建一个文件夹如:

Ubuntu 下 Git 服务器的搭建与使用指南

输入 git init 命令,将此文件夹初始化为一个 git 仓库(空仓库)

Ubuntu 下 Git 服务器的搭建与使用指南

输入 ssh-keygen –t rsa 命令生成 ssh 公钥(出现停顿按回车即可)

Ubuntu 下 Git 服务器的搭建与使用指南

在主文件夹目录下会生成一个.ssh 文件夹(若无则按 Ctrl + H 使之显示)

Ubuntu 下 Git 服务器的搭建与使用指南

在本虚拟机上 repository 目录下新建一个目录 gitadmin 用于存放 gitosis-admin.git 仓库如:

Ubuntu 下 Git 服务器的搭建与使用指南

将 Git 服务器中 gitosis-admin.git 仓库 clone 下来(git@218.108.45.14 是我建的 Git 服务器相应的换成你建的 Git 服务器即可)

Ubuntu 下 Git 服务器的搭建与使用指南

Clone 正确会显示如下信息

Ubuntu 下 Git 服务器的搭建与使用指南

clone 下来会有一个 gitosis.conf 的配置文件和一个 keydir 的目录。gitosis.conf 用于配置用户的权限信息,keydir 主要用户存放 ssh 公钥文件(一般以“用户名.pub”命名,gitosis.conf 配置文件中需使用相同用户名),用于服务器认证请求的客户端机器。

将本机器上生成相应的.ssh 文件夹中的 id_rsa.pub 公钥文件,按用户名命名为如 hesonglin@master.pub,复制到 keydir 目录下

Ubuntu 下 Git 服务器的搭建与使用指南

编辑 gitosis.conf 文件,设置权限

Ubuntu 下 Git 服务器的搭建与使用指南

将本机用户名 (如 hesonglin@master) 添加,并赋予权限

Ubuntu 下 Git 服务器的搭建与使用指南

这些配置的修改只是在本地修改的,还需要推送到服务器中才能生效

Ubuntu 下 Git 服务器的搭建与使用指南

Ubuntu 下 Git 服务器的搭建与使用指南

上述的 git add . 和 git commit –am“add a user”是保存和提交到本地

Ubuntu 下 Git 服务器的搭建与使用指南

git push origin master 表示将上述修改内容推送到 Git 服务器

推送成功会显示下面提示信息

Ubuntu 下 Git 服务器的搭建与使用指南

至此,Git 服务器就有和上述配置的 keydir 和 gitosis.conf 一样的信息

如我在 Git 服务器中已创建好了一个 teamwork.git 仓库用来管理项目如下图:

Ubuntu 下 Git 服务器的搭建与使用指南

那么,现在就可以在本机上从 Git 服务器中 clone teamwork.git 以及做了修改后进行推送到 git 服务器

首先在本机先创建一个文件夹 myrepository

Ubuntu 下 Git 服务器的搭建与使用指南

进入到 myrepository 下克隆 teamwork.git

Ubuntu 下 Git 服务器的搭建与使用指南

得到 teamwork.git 仓库如下图所示

Ubuntu 下 Git 服务器的搭建与使用指南

现在在本地的 teamwork.git 仓库中新建 readme 文件,然后进行提交和推送

Ubuntu 下 Git 服务器的搭建与使用指南

Ubuntu 下 Git 服务器的搭建与使用指南

每当 Git 服务器中 teamwork.git 仓库有更新时,可以在本机上通过 git pull 命令获取最新版本的数据(注意要到 teamwork 目录内)

Ubuntu 下 Git 服务器的搭建与使用指南

此时本机 teamwork.git 仓库中就有了其他开发机推送的最新版本的数据(如果其他开发机 push 了最新数据)。

至此,本虚拟机就可以从 Git 服务器进行 pull 和 push 操作了。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-07/120617p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5701字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7982224
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...