Git 【Mac 系统下搭建本地 Git 服务器】

6 篇文章 3 订阅

一、准备原料


① jdk

下载地址:jdk


② gitblit

下载地址:gitblit.com



二、配置


jdk 直接安装即可。

gitblit 需要进行一些小配置:


① 解压下载好的 gitblit 文件,我这里的版本为 1.8.0。




② 配置本地 Git 服务器仓库存储数据的根目录。


打开文件 ~/gitblit-1.8.0/data/defaults.properties


修改本地 Git 服务器仓库根目录:

git.repositoriesFolder = GitRepository

我这里用的文件夹名称为 GitRepository。


修改 HTTP 协议端口号:

server.httpPort = 1234
这里可以随便自定义一个不重复的端口号。保存。


③ 启动 gitblit 服务。


./gitblit.sh


你会看到如下命令行输出:

wangzhongyao:gitblit-1.8.0 wangzhongyao$ ./gitblit.sh 
2017-11-02 16:09:50 [INFO ] 
  _____  _  _    _      _  _  _
 |  __ \(_)| |  | |    | |(_)| |
 | |  \/ _ | |_ | |__  | | _ | |_
 | | __ | || __|| '_ \ | || || __|  http://gitblit.com
 | |_\ \| || |_ | |_) || || || |_   @gitblit
  \____/|_| \__||_.__/ |_||_| \__|  1.8.0

2017-11-02 16:09:50 [INFO ] Running on Mac OS X (10.13)
2017-11-02 16:09:50 [INFO ] Logging initialized @389ms
2017-11-02 16:09:55 [INFO ] Using JCE Standard Encryption Policy files, encryption key lengths will be limited
2017-11-02 16:09:55 [INFO ] Setting up HTTPS transport on port 8443
2017-11-02 16:09:55 [INFO ]    certificate alias = localhost
2017-11-02 16:09:55 [INFO ]    keyStorePath   = /Users/wangzhongyao/Desktop/gitblit-1.8.0/data/serverKeyStore.jks
2017-11-02 16:09:55 [INFO ]    trustStorePath = /Users/wangzhongyao/Desktop/gitblit-1.8.0/data/serverTrustStore.jks
2017-11-02 16:09:55 [INFO ]    crlPath        = /Users/wangzhongyao/Desktop/gitblit-1.8.0/data/certs/caRevocationList.crl
2017-11-02 16:09:55 [INFO ] Setting up HTTP transport on port 20202
2017-11-02 16:09:55 [INFO ] Shutdown Monitor listening on port 8081
2017-11-02 16:09:55 [INFO ] jetty-9.2.13.v20150730
2017-11-02 16:09:56 [INFO ] NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.IRuntimeManager]----
2017-11-02 16:09:57 [INFO ] Basefolder  : /Users/wangzhongyao/Desktop/gitblit-1.8.0/data
2017-11-02 16:09:57 [INFO ] Settings    : /Users/wangzhongyao/Desktop/gitblit-1.8.0/data/gitblit.properties
2017-11-02 16:09:57 [INFO ] JVM timezone: Asia/Shanghai (CST +0800)
2017-11-02 16:09:57 [INFO ] App timezone: Asia/Shanghai (CST +0800)
2017-11-02 16:09:57 [INFO ] JVM locale  : zh_CN
2017-11-02 16:09:57 [INFO ] App locale  : <client>
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.INotificationManager]----
2017-11-02 16:09:57 [WARN ] Mail service disabled.
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.IUserManager]----
2017-11-02 16:09:57 [INFO ] ConfigUserService(/Users/wangzhongyao/Desktop/gitblit-1.8.0/data/users.conf)
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.IAuthenticationManager]----
2017-11-02 16:09:57 [INFO ] External authentication disabled.
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.transport.ssh.IPublicKeyManager]----
2017-11-02 16:09:57 [INFO ] FileKeyManager (/Users/wangzhongyao/Desktop/gitblit-1.8.0/data/ssh)
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.IRepositoryManager]----
2017-11-02 16:09:57 [INFO ] Repositories folder : /Users/wangzhongyao/Desktop/gitblit-1.8.0/GitRepository
2017-11-02 16:09:57 [INFO ] Identifying repositories...
2017-11-02 16:09:57 [INFO ] 1 repositories identified with calculated folder sizes in 166 msecs
2017-11-02 16:09:57 [INFO ] Lucene will process indexed branches every 2 minutes.
2017-11-02 16:09:57 [INFO ] Garbage Collector (GC) is disabled.
2017-11-02 16:09:57 [INFO ] Mirror service is disabled.
2017-11-02 16:09:57 [INFO ] Alias 'UTF8', UTF-9 & UTF-18 encodings as UTF-8 in JGit
2017-11-02 16:09:57 [INFO ] Preparing 14 day commit cache. please wait...
2017-11-02 16:09:57 [INFO ]   cached 1 commits for Git/CoderZYWang.git:refs/heads/master
2017-11-02 16:09:57 [INFO ] built 14 day commit cache of 1 commits across 1 repositories in 16 msecs
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.IProjectManager]----
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.IFederationManager]----
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.tickets.ITicketService]----
2017-11-02 16:09:57 [INFO ] NullTicketService started
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.IGitblit]----
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.IServicesManager]----
2017-11-02 16:09:57 [INFO ] Federation passphrase is blank! This server can not be PULLED from.
2017-11-02 16:09:57 [INFO ] Fanout PubSub service is disabled.
2017-11-02 16:09:57 [INFO ] Git Daemon is listening on 0.0.0.0:9418
2017-11-02 16:09:57 [INFO ] SSH Daemon (NIO2) is listening on 0.0.0.0:29418
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.IFilestoreManager]----
2017-11-02 16:09:57 [INFO ] No filestore metadata file found
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] ----[com.gitblit.manager.IPluginManager]----
2017-11-02 16:09:57 [INFO ] PF4J version 1.8.0 in 'deployment' mode
2017-11-02 16:09:57 [INFO ] Enabled plugins: []
2017-11-02 16:09:57 [INFO ] Disabled plugins: []
2017-11-02 16:09:57 [INFO ] No plugins
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:57 [INFO ] All managers started.
2017-11-02 16:09:57 [INFO ] 
2017-11-02 16:09:58 [INFO ] [GitBlitWebApp] init: Wicket core library initializer
2017-11-02 16:09:58 [INFO ] [GitBlitWebApp] init: Wicket extensions initializer
2017-11-02 16:09:58 [INFO ] [GitBlitWebApp] Started Wicket version 1.4.22 in deployment mode
2017-11-02 16:09:58 [INFO ] Started o.e.j.w.WebAppContext@4e3a6f94{/,file:/Users/wangzhongyao/Desktop/gitblit-1.8.0/data/temp/webapp/,AVAILABLE}{file:/Users/wangzhongyao/Desktop/gitblit-1.8.0/gitblit.jar}
2017-11-02 16:09:58 [INFO ] Started ServerConnector@725746c{SSL-HTTP/1.1}{0.0.0.0:8443}
2017-11-02 16:09:58 [INFO ] Started ServerConnector@67f7fd0{HTTP/1.1}{0.0.0.0:20202}
2017-11-02 16:09:58 [INFO ] Started @8927ms


此时表示 Git 本地服务器仓库建立连接,你可以用服务器 IP + 端口号来访问:




要注意的是,启动 gitblit.sh 服务的终端不要关闭,保持长连接,这样才可以持续访问 gitblit 本地服务器。



三、测试


我们可以直接在自己电脑上去拉取我们自己电脑作为 Git 服务器的 Git 仓库,如下:




如此, 基于 Gitblit 的本地 Git 服务器搭建完毕。


要注意的是,虽然我们向自建本地 Git 服务器仓库提交代码。但是在我们本地服务器也是进行了加密处理过的。所以是看不到详细内容的。

具体提交的加密内容在 objects 文件夹下可以看到。而分支可以在 refs/heads 文件夹下查看。如下图:








附:Windows 系统下搭建 Git 服务器


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值