在Linux下搭建Git服务器
众所周知,版本系统在开发环境中是必不可少的,但是我们可以把代码免费的托管到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密钥,用户名,密码和身份验证令牌进行摔跤
0条评论