如何在mac系统下搭建git服务器

如何在mac系统下搭建git服务器,第1张

第一步,下载gitblit

http://gitblitcom/

这里当然是选择linux/osx的版本。下载下来是一个targz的压缩文件,我下载时最新版本是gitblit-171targz

第二步,配置gitblit

创建目录,作为git服务器存储数据的根目录,比如我这里的目录是:

/Users/xxxx/gitserver/gitRepository

解压第一步下载的文件,然后进入data子目录,找到defaultsproperties打开。这里的很多配置项都可以使用缺省,不过一般会把

gitrepositoriesFolder配置下。这里就配置成上面新建的目录gitRepository的路径

然后找到serverhttpPort,设定http协议的端口号,这个端口号理论上来说可以随便指定,这里我设置成7070。

保存,关闭

启动gitblit服务,这里我只给出手动启动的方式(自动随系统启动还没研究,哈哈),其实手动方式也不麻烦,安装包里做好了可执行的脚本,我们只要在

终端运行就可以了,如下所示:

第三步,测试git服务器

打开浏览器,输入http://localhost:7070/(localhost也可以换成你本机的ip地址),进入gitblit web管理页面:

默认的用户名和密码是admin,强烈建议登陆后修改密码。登陆后创建一个用户,然后在该用户下创建项目目录,这里叫leanrgit

然后用本地的一个git工作目录与之关联,就可以commit,push这些操作了:

方法步骤如下:

1下载git到电脑上

2安装,直接下一步下一步就好,记得下载位置就好,配置的时候要用

3在studio中设置git插件:File->Setting->Version Control->Git,添加刚刚安装的git地址目录,例如: C:\Program Files\Git\bin\gitexe , 

3点击Test测试一下,根据结果看是否成功

4初始化git项目(git init),操作如下:VCS->Enable Control Integration->Select "Git"

5为git添加remote,在这一步中,studio没有提供可视化的GUI,得用Git工具了。找到并打开git安装目录下面的Git Bash,将目录切换到项目的目录,然后输入git添加remote的命令,例如:git remote add origin "githubcom/xxx/xxxgit"前面加上https://。

6将代码添加到VCS(git add),选中要提交的文件->VCS->Git->Add,

提交变化(git commit),VCS->Commit Changes,在提交的时候可以选择Commit and Push,就可以直接push到服务器。

7Git Push,VCS->Git->Push

8最后,如果要是clone project到studio

GitLab是由Ruby语言开发的基于Linux的Git服务器,是我见过的最强大的Git服务器。发现它之后,立即决定将Git服务器换成GitLab。

但安装好GitLab之后面临一个问题,如何将服务器上的git项目直接导入到GitLab,之前的Git服务器是由是git+apache搭建的(详见在Linux上用Apache搭建Git服务器)。

在网上发现了这篇文档——Import bare repositories into your GitLab instance,并按之进行了操作。

1)设置存放代码库的主目录

vi /etc/gitlab/gitlabrb

比如这里设置为:git_data_dir "/gitlab/repos"

2)访问刚搭建的GitLab站点,创建一个group,比如cnblogs。

这时会在 /gitlab/repos 下创建 /gitlab/repos/repositories/cnblogs 文件夹。

然后在/gitlab/repos/repositories/创建一个文件夹,比如cnblogs

3)将现有的所有git项目文件复制到这个文件夹

cp -r /data/git/ /gitlab/repos/repositories/cnblogs

4)修改一下复制过来的文件夹的所有者:

chown -R git:git /gitlab/repos/repositories/cnblogs

5)运行GitLab导入命令

cd /var/opt/gitlab

gitlab-rake gitlab:import:repos

等了一段时间之后,显示done,却一个项目也没导入进来。

经研究发现,在导入时,GitLab只认文件夹名以git结尾的项目。于是,将要导入的项目文件夹名称加上git后缀,再次进行导入。

结果显示导入成功,比如:

Processing cnblogs/CNBlogsJobgit

Created CNBlogsJob (cnblogs/CNBlogsJobgit)

Done!

可以是GitLab站点上却看不到已导入的项目。多次努力,也没能解决这个问题。

后来,实在没办法,改为手动导入,导入方法如下:

1)在GitLab站点上创建与要导入的项目同名的项目。

2)进入刚创建的项目文件夹

cd /gitlab/repos/repositories/cnblogs/项目名称git

3)删除该文件下的所有文件

rm -rf

4)将要导入的项目文件夹下的所有文件复制过来

cp -r /data/git/CNBlogsJob/ /gitlab/repos/repositories/cnblogs/CNBlogsJobgit

就这样将项目一个一个地导入进来。

5)导入完成后,修改一下导入的所有项目的文件所有者

chown -R git:git /gitlab/repos/repositories/cnblogs

如果不修改所有者,客户端无法进行git push。

就这样手动地完成了现有Git项目的导入。

备注:操作系统是CentOS 62,GitLab版本是784。

GitLab是GitHub的免费私有库替代方案,并且安装与配置都很方便。

GitLab要求最少4GB内存,支持小团队使用没问题,实测2GB内存的VPS基本没法用,开swapfile也不行,动不动就60秒超时。因此4GB内存是必须的。

关于这一点,内存大户主要是Unicorn,基于ruby的http服务器。Unicorn会在启动后预先占用大部分内存,内存会随着使用逐渐增长,并且不会释放。根据GitLab和Unicorn的官方文档,这不是它们的锅,那么这个锅可能是ruby和rails了。解决方法是unicorn-work-kill,会根据请求次数和内存占用自动重启Unicorn。Omnibus版的GitLab是默认开启的。

GitLab分为社区版和企业版,在未付费的情况下,两者的功能是一样的。并且社区版整合了CI/CD,因此可以满足绝大部分的开发需求。

安装包主要包括Omnibus整合包,Docker、AWS等的云镜像,以及一些第三方维护的版本。其中Omnibus直接整合了所有服务端组件,适合自用和练手。

安装以Omnibus整合包为例,操作系统为Ubuntu1604。

Gitlab需要 curl,openSSH 和 ca-certificates 这几个组件:

不过服务器系统一般自带,所以是可选的。

邮件服务,用于GitLab发送找回密码的邮件:

不过如果服务器没有域名的话,大部分邮箱会拒收邮件,而管理员帐号可以直接重置其他账号的密码,所以是可选的。

官方提供的脚本:

这个脚本会自动添加源到apt 的source list,以及安全key。另外,如果自己服务器在国内,脚本会自动添加清华的镜像,速度还行。

先更新apt缓存:

推荐使用 apt 而不是 apt-get ,前者大多数情况下更简单一点。

然后是安装:

其中 EXTERNAL_URL ,改成自己的域名。没有域名的话,可以直接设置成IP的形式: http://1234 ,这个推测跟nginx服务以及GitLab中的项目地址有关,所以最好正确设置。当然也可以之后在配置文件里更改。

安装完成后,可以在配置文件中修改配置 /etc/gitlab/gitlabrb 。

比如之前的 EXTERNAL_URL :

官方还有一个关于 unicorn 的优化建议:

默认值是2,如果服务器只用于GitLab的话,官方建议是CPU核心数加一,可以提高服务器的响应速度。不过如果内存只有4G,或者服务器同时承载其他服务,就不要改了,以免内存不足。另外,这个参数最小值是2,设为1,服务器可能会卡死。

配置完成后,刷新配置:

每次修改完 gitlabrb ,都要刷新配置。

如果没有报错的话,GitLab就配置完毕并且正常运行了。接下来可以打开浏览器开始访问了。

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git的主要功能:

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

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

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

扩展资料:

Git的优缺点:

优点:

1、适合分布式开发,强调个体。

2、公共服务器压力和数据量都不会太大。

3、速度快、灵活。

4、任意两个开发者之间可以很容易的解决冲突。

5、离线工作。

缺点:

1、资料少(起码中文资料很少)。

2、学习周期相对而言比较长。

3、不符合常规思维。

4、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

-Git

我使用的gogs+cetos6搭建git服务器,因为gogs搭建服务器比较简单

我给您大概说一下搭建过程

linux服务器上安装mysql,并创建gogs数据库

linux服务器上安装git

linux服务器上安装gogs

运行/gogs web ,然后可以通过浏览器访问: localhost:3000配置服务器

最后是开启防火墙端口3000(gogs默认端口)

因为不熟悉Ubuntu,但是过程是一样的,您可以尝试一下 :)

基本原理:使用copSSH在WINDOWS(XP)上建立SSH服务器;使用生成的“公钥-私钥”对作为身份标识;在服务器上配置SHELL脚本环境;配置客户端,加载私钥。详细过程如下:

  安装前准备:

Download copSSH [SourceForge Link] (注:SSH服务器软件)

Download msysgit (注:WINDOWS下的git安装包)

Download TortiseGIT (注:WINDOWS下的git图形化软件,与TortiseSVN是同门)

Download PuTTY Installer (注:生成公钥-私钥对的软件,并可用于SSH客户端的登陆)

  Step1 -安装copSSH

1将copSSH(basic edition 200)安装到路径 c:\SSH

2安装过程中写下SvcCOPSSH的密码,你可能永远不会用到,但写下也无伤大雅。

3启动copSSH,选择 开始->所有程序->copSSH->control panel;然后激活一个用户(假定为Administrator,选择Users->Add,下一步,选择一个用户,不要勾选Allow password authenticatin选项,点击forward,OK。

4其他关于public keys的事情无需操作,后面还会讲到。

  Step2-配置copSSH

1选择路径-C:\SSH\etc ,在记事本中打开ssh_config 和sshd_config(注意:两个文件有一个字母“d”的区别)

2ssh_config -删除Port前的#号,设置端口号,这里采用默认端口22

3sshd_config -保证端口号一致

4确定系统防火墙中该端口未关闭。(这一点很重要)

5重启系统

  Step3-安装Putty

1重启之后,继续回来,现在可以安装Putty Installer了。

2导航至你的安装路径,通常为c:\program files\Putty

3打开PuttyGenexe

4选择生成密钥的长度4096

5在空白面板处不停地晃动鼠标(用于生成随机种子),直到生成结束。(不要关闭PuttyGen)

6来到路径c:\SSH\Home\Administrator\ssh\ (这个路径在你使用copSSH激活用户时会产生,根据你激活的用户名,选择相应的路径),创建文件authorized_keys (注意没有后缀名)

7打开PuttyGen,复制Public Key(公钥)到文件authorized_keys ,并保存

8在PuttyGen中,将Private Key(私钥)保存为private_keyppk,保存在同一目录下。-比如,我的保存目录为c:\SSH\Home\Administrator\ssh\private_keyppk

9现在目录下应该有两个文件了,authorized_keys 和 private_keyppk

10为了测试连接,运行puttyexe

11在打开的界面中输入IP 地址(本机可以为localhost)和端口号

12打开左侧的菜单,选择Connection-SSH-Auth,选择你的私钥文件,c:\SSH\Home\<user>\ssh\private_keyppk

13点击Open,就会打开终端,让你输入Login Name,输入Administrator(注意大小写)

14你会看到显示接受你的公钥(Accept Public Key),客户端登陆成功,登陆信息也会缓存起来。

  Step 4-安装 msysgit和TortiseGIT

1安装msysgit的过程中一路下一步即可,假定你的路径为C:\msysgit

2安装TortiseGIT,完成之后

 1)在任意路径点右键,选择TortiseGIT-Settings,设置gitexe的路径为c:\msysgit\msysgit\bin,即为msysgit的安装路径

 2)在左侧菜单中选择Network,选择SSH Client为putty中的plinkexe(如我的路径为C:\Program Files\PuTTY\plinkexe)

3将几个GIT运行中需要的文件复制到SSH服务器目录,当客户端远程登陆上来以后需要执行这些文件,文件源路径为c:\msysgit\msysgit\Git\libexec\git-core ,要复制的文件包括gitexe, git-receive-packexe, git-upload-archiveexe and git-upload-packexe,将以上文件复制到C:\SSH\Bin

  Step5-配置用户环境

1对于copSSH来说,其默认的$HOME环境为c:\Documents and Settings\<user>,GIT也将会在该目录下寻找authorized_keys 文件。当然,这是咱要避免的事儿,我们要将GIT的路径重定向到C:\SSH\Home\<user>\ssh 。

2选择路径C:\SSH\Home\Administrator\,打开bashrc文件,在# User dependent bashrc file下面加上这样一段:export HOME=/c/SSH/home/Administrator Shell Options,(注意不要有其他空格出现),然后选择保存。

3把该文件复制到用户目录下,如: c:\Documents and Settings\Administrator\

  Step7-使用GIT和Plink

1打开路径C:\SSH\home\Administrator,创建文件夹myappgit

2 在该文件夹上点右键,选择git create repository here,勾选make it bare,服务器文件仓库创建成功。

3导航至路径c:\Program Files\PuTTY ,打开pageantexe,选择add key,将你的私钥(private_keyppk)加载上。

4然后右键选择 git clone,url设为ssh://administrator@127001:22/SSH/Home/administrator/myappgit ,如果clone成功,恭喜你,大功告成!

关于git的操作详见git的使用说明,这里推荐Pro Git 简体中文版,翻译的很不错。

  注:在执行git clone时可能会报错(该错误在所参考的E文中未提及,把俺害得不轻),如果是关于某个dll文件的错(具体是哪个文件记不清了,遇到的朋友可以根据文件名,在msysigt目录下搜索即可找到),可以将该文件同样复制到C:\SSH\Bin下,然后就可以正常运行了。

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

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情