您的位置:首页 > 其它

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

2017-11-02 17:35 537 查看
一、准备原料

① 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.sh2017-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 服务器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息