在Linux下搭建Git服务器,第1张

众所周知,版本系统在开发环境中是必不可少的,但是我们可以把代码免费的托管到GitHub上,如果我们不原意公开项目的源代码,公司又不想付费使用,那么我们可以自己搭建一台Git服务器,可以用Gitosis来管理公钥,还是比较方便的。

搭建环境:

服务器 CentOS66 + git(version 1831)

客户端 Windows10 + git(version 2111windows1)

1 安装Git相关软件

Linux是服务器端系统,Windows作为客户端系统,分别安装Git

安装客户端:

下载 Git for Windows,地址:https://git-for-windowsgithubio/

安装完之后,可以使用Git Bash作为命令行客户端。

安装Gitosis

出现下面的信息表示安装成功了

2 服务器端创建git用户来管理Git服务

3 配置公钥

在Windows上配置管理者,git服务器需要一些管理者,通过上传开发者机器的公钥到服务器,添加成为git服务器的管理者,打开git命令行

4 配置gitosis

使用git用户并初始化gitosis

在Windows上机器上clone gitosis-admin到管理者主机

gitosisconf: git服务器配置文件

keydir: 存放客户端公钥

配置 gitosisconf 文件

在Windows管理者机器上创建本地test仓库,并上传到git服务端

提交到远程服务器

服务端会自动创建test仓库

5添加其他git用户开发者

由于公司开发团队人数不断增多,手动添加开发者私钥到/home/git/ssh/authorized_keys比较麻烦,通过上面的Windows机器的管理者统一收集其他开发者的私钥id_rsapub文件,然后传到服务器上,配置好后,用户即获得项目权限,可以从远程仓库拉取和推送项目,达到共同开发项目。

推送完成后,新加进来的开发者就可以进行项目的开发了,后续增加人员可以这样添加进来,开发者直接把仓库clone下来就可以了。

在使用android studio的Git来进行版本控制时,Android studio可以直接可视化的新建本地库,连接到远程库,提交,获取等操作。下面来说一下在android stuido下git的基本使用,以及遇到的一些问题的解决方法。

1、从git上拉取代码(如图):

然后在弹出框中输入地址,clone就可以了。

以下是将本地代码,上传到本地仓库,提交的服务器的操作。

2、新建本地库

如图操作之后,提示选择目录,这时候一定要选择项目的根目录(容易出错),否则以后从服务器直接拉取容易出错。当成功创建本地库之后,所有代码会由白色变为红色,意思是没有提交到本地仓库。在每个文件夹的根目录都会有一个gitignore文件,这是用来忽视不想提交到仓库的代码的。

在本地仓库的根目录下会有一个隐藏的文件夹git。这就是我们的本地仓库,我们会把修改过的代码提交到仓库。如果我们想删除本地的仓库,直接删除这个git文件夹,然后在版本控制设置里面,把这个本地仓库删除就行了(如图):

3、将代码上传本地仓库

当把所有不想上传的代码忽略之后,右击项目,选择git-add就直接把代码执行了git的add操作,现在还并没有提交到本地仓库。点击面板上的按钮,commit,就把代码提交到了本地仓库

4、将本地仓库代码提交到远程服务器

如上图操作,在弹出的对话框中点击push,就成功的将本地代码提交到了服务器。

这时候如果想要删除上传服务器的地址,直接在android studio上操作是行不通的,这时候需要命令行来操作。

打开项目的根目录,右键Git Bash Here,输入命令git remote rm origin(最后一个是在连接远程时命名的),就可以将上传的服务器地址删除掉了。

输入命令git remote add origin https可以添加上传服务器的路径,当从as中上传的时候,会有提示框显示选择上传路径。如果添加过了一个路径,再添加,需要一个新的命名如git remote add neworigin https

以上就是在android studio上使用git的最基本的操作,多操作几遍就会发现,git是如此的方便、简单、快捷、实用

git拉取代码到本地的方法是:

打开git命令窗口,输入命令gitclonegithub仓库地址,然后回车即可拉取代码到本地仓库。

在实际项目开发过程中,往往是已经存在远程项目了,我们定义的需求是只需要简单的操作git,能够上传和下拉最新代码。

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

Torvalds开始着手开发Git是为了作为一种过渡方案来替代BitKeeper。

Git的功能特性:

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

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。

2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

3、在单机上自己创建的分支上提交代码。

4、在单机上合并分支。

5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

6、生成补丁(patch),把补丁发送给主开发者。

7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

8、一般开发者之间解决冲突的方法,开发者之间可以使用pull命令解决冲突,解决完冲突之后再向主开发者提交补丁。

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

1、查看邮件或者通过其它方式查看一般开发者的提交状态。

2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

3、向公共服务器提交结果,然后通知所有开发人员。

git clone +远程仓库地址

这里需要注意了,远程仓库会有两个地址,一个是使用SSH协议,一个是使用HTTP协议

如果你以后需要有push的权限,要使用SSH协议的那个仓库地址

如果你只是下下来研究代码,不需要上传本地的修改,可以使用HTTP协议的地址。

Mac好用的GIt管理器推荐:TowerMac版

TowerforMac是应用于macos平台上一款非常强大的Git客户端,Git是目前最流行的版本管理工具之一,TowerGit具有强大的Git资源库管理、版本控制、分支管理等等,并且能够和Xcode、github、Beanstalk、BBEdit等软件无缝结合使用!

TowerMac版

TowerforMac软件特色

1、便于使用

无需记住复杂的命令(及其参数)。Tower使许多高级操作像拖放一样简单。

2、撤消一切

撤消本地更改

恢复旧版本

还原提交

恢复已删除的提交

撤消分支删除

3、清晰的可视化,更好的理解

Tower的清晰视觉界面非常有用-并且使复杂场景更容易理解。

4、自信地使用Git

以简单,直观的方式解决合并冲突

立即查看哪些提交尚未与遥控器同步

停止使用SSH密钥,用户名,密码和身份验证令牌进行摔跤

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 在Linux下搭建Git服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情