简单Git Server搭建及其测试
来源:互联网 发布:情义知多少日本电影 编辑:程序博客网 时间:2024/06/05 09:39
简单Git Server搭建及其测试
乔丹丹 2015/8/11
Mac下搭建服务器
环境:iMac 版本:10.10.3(客户端)
MacPro 版本:10.10.3(服务器)
思路:选择一台MacPro作为服务器端,搭建服务器,实现其他的客户端通过ssh机制访问服务器端,实现客户端commit,push代码到服务器端的代码仓库,其他客户端也可以pull代码到本地,这样既实现了便捷管理代码也满足了企业代码放在自己的服务器上的需求。
步骤一、在服务器端创建一个账户
1、通过System Preferences->accounts 添加一个账户,其他客户端通过这个账户来访问服务器。(这一步骤也可以不进行,不创建账户的话,客户端都是通过服务器端的默认账户来访问服务器的。)
2、使用新创建的账户登录服务器,在SystemPreferences->Sharing
勾选该账户下的:WebSharing 和Remote Logig。
步骤二、安装gitosis
在这里(https://github.com/tv42/gitosis)下载最新的gitosis。或者在终端执行指令git clonehttps://github.com/tv42/gitosis.git来下载gitosis
安装gitosis,进入gitosis目录,使用指令sudopython setup.py install 安装gitosis.
cd gitosis/
sudo python setup.py install
步骤三、制作ssh公钥
1、 在客户端,做作ssh公钥。
cd ~
ssh-keygen -t rsa
至此,就已经生成了公钥
cd .ssh
ls
查看公钥,我们将客户端的公钥拷贝到服务器端
2、在服务器端,将公钥追加添加到authorized_keyswen文件中。
cp id_rsa.pub /tmp/ yourame .pub
这条指令将公钥拷贝到了tmp目录下yourname可以替换成客户端对应的名字
sudo -H -u gitgitosis-init < /tmp/yourname.pub
这条指令,使用ssh公钥初始化了gitosis
cd ~
cd .ssh
ls
执行到这里,可以看到authorizedl_keys文件。
catid_rsa.pub>>authorized_keys
这条指令实现了把客户端的公钥追加到authorized_keys文件中。
(如果修改了文件名字,指令应该是cat yourname.pub>>authorized_keys)
1、然后打开authorized_keys稍作修改
open –e authorized_keys
就打开了文件,将ssh之前的那段"command="gitosis-serveyourname",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty" 删掉,剩余的就是ssh公钥。保存退出。
4、对post-update赋予可写权限,以便客户端可以提交更改。
sudo chmod 755/Users/git/repositories//gitosis-admin.git/hooks/post-update
会提示输入密码,输入密码之后
cd ~
cdrepositories/
ls
会查看到gitosis-admin.git文件夹
2、修改git账户的path路径
touch ~/.bashrc
echoPATH=/usr/local/bin:/usr/local/git/bin:\$PATH > .bashrc
echo exportPATH >> .bashrc
cat .bashrc
步骤四、连接做准备
在每个客户端,要设置git的config信息,这样git才能识别who you are。否则会在你提交的时候提示你,tell me who youare。
git config--global user.name "yourgitname"
globaluser.email "yourmail@yourcom.com"
注意:此处的email必需是与你刚才产生公钥的那个email是一致的。这样子才能通过生成的公钥来实现访问服务器端。
步骤五、测试连接,clone服务器端代码到本地
1、测试通过ssh是否可以正常连接上服务器端
sshgit@10.1.4.211
git是服务器端你设置的那个帐号,如果没有新设置帐号,那么就应该是你服务器机子默认的用户的名字,@后面是服务器的ip地址。登录成功之后,终端用户名字就会变成服务器端的名字。
2、 在本地clone服务器仓库
git clone git@10.1.4.211:repositories/gitosis-admin.git
第二个git替换成服务器相应的用户名,IP换成相应的服务器的ip,成功 clone 服务器的 gitosis-admin 仓库至本地
在gitosis-admin中添加项目进行commit,push,pull下来代码等操作。
服务器搭建完成之后代码管理测试
服务器端: qiaodan MacPro
客户端1: qiaodandan iMac
客户端2: gaoqinghua iMac
实现:
1、 打开一个文件在,在这个位置,终端执行操作,clone下来代码仓库。图示:
2、 在相应的代码仓库位置建立项目进行操作,图示代码仓库位置:
3、 客户端2创建一个项目,commit到本地,push到服务器qiaodan MacPro。
4、 操作之前可能会要求输入密码,如图所示:
5、 客户端1 pull下客户端1的代码。
6、 修改追加代码,commit到本地,push到服务器。
7、 客户端2 pull最新代码成功。如图:
8、 客户端1创建一个branch QD分支,进行代码分支编写,commit到本地,push到服务器。
9、 客户端2在原来代码上进行修改,commit到本地,push到服务器。
10、 然后客户端2进行两个代码分支的合并,merge操作,提供有左边,右边,先左后右,先右后左四种选择。根据实际情况,进行合并。如图所示:
- 简单Git Server搭建及其测试
- 简单搭建Git Server
- linux下搭建简单的git服务器测试1
- git server搭建
- 关于git server 搭建
- 搭建git server
- git server 搭建
- Git Server搭建
- Git Server搭建
- ubuntu搭建git server
- ubunt git server 搭建
- Git Server搭建
- git 搭建 client/server
- 自己搭建git server
- git server搭建
- Ubuntu server 搭建Git server
- 简单Git服务器搭建
- 简单git仓库搭建
- 1029. Median (25)
- js中slice()和substring()的区别
- struts2的HelloWorld
- 设计模式之-----中介者模式
- 整数划分问题--DFS
- 简单Git Server搭建及其测试
- MVC中的Html.ActionLink的介绍
- 面试中的链表题目
- 一个epoll/aio/eventfd结合使用的简单例子
- NHibernate3剖析:Mapping篇之ConfORM实战(2):原理
- 在Eclipse中使用Maven建立Spring项目
- UNIX网络编程卷一:第十四章 高级I/O
- NHibernate3剖析:Query篇之NHibernate.Linq自定义扩展
- 【Linux目录】远离 /usr/local, /opt