Gitblit介绍
Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库.相当于 Git 的 Java 管理工具,支持linux系统。
Git是分布式版本控制系统,它强调速度、数据一致性,并且支持分布式、非线性工作流。它最初由Linus Torvalds在2005年为Linux内核设计和开发,使用GPLv2证书,
并从此成为软件开发中使用最广泛的版本控制系统。
Gitblit是完全开源的软件,它基于纯粹的Java堆栈,被设计以在Git仓库速度和效率方面胜任从小型到极大型的项目。它很容易学习和上手,并有着闪电般的性能。它在很
多方面远胜Subversion、CVS、Perforce和ClearCase等SCM(版本控制)工具,比如,如快速本地分支、易于暂存、多工作流等。

下面介绍Gitblit的安装(Ubuntu/Fedora/CentOS)

Git是一款注重速度、数据完整性、分布式支持和非线性工作流的分布式版本控制工具。Git最初由Linus Torvalds在2005年为Linux内核开发而设计,如今已经成为被广
泛接受的版本控制系统。和其他大多数分布式版本控制系统比起来,不像大多数客户端-服务端的系统,每个Git工作目录是一个完整的仓库,带有完整的历史记录和完整的版本
跟踪能力,不需要依赖网络或者中心服务器。像Linux内核一样,Git也是在GPLv2许可证下分发的自由软件。

[root@gitblit-server ~]# yum -y install java-1.7.0-openjdk*         //要提前安装java环境
[root@gitblit-server ~]# mkdir -p /opt/gitblit
[root@gitblit-server ~]# cd /opt/gitblit
[root@gitblit-server gitblit]# wget http://dl.bintray.com/gitblit/releases/gitblit-1.6.2.tar.gz
[root@gitblit-server gitblit]# tar -zvxf gitblit-1.6.2.tar.gz
[root@gitblit-server gitblit]# ls
add-indexed-branch.sh ext gitblit-stop.sh java-proxy-config.sh reindex-tickets.sh
authority.sh gitblit-1.6.2.tar.gz install-service-centos.sh LICENSE service-centos.sh
data gitblit.jar install-service-fedora.sh migrate-tickets.sh service-ubuntu.sh
docs gitblit.sh install-service-ubuntu.sh NOTICE 默认配置文件在data/gitblit.properties,可以根据需要自己修改。 启动gitlit服务: 第一种方式:通过service命令:
[root@gitblit-server gitblit]# cp service-centos.sh /etc/init.d/gitblit
[root@gitblit-server gitblit]# chkconfig --add gitblit
[root@gitblit-server gitblit]# service gitblit start
Starting gitblit server
.
[root@gitblit-server gitblit]# ps -ef|grep gitblit
root 7421 1 99 11:19 pts/0 00:00:13 java -server -Xmx1024M -Djava.awt.headless=true -jar /opt/gitblit/gitblit.jar --httpsPort 8443 --httpPort 0 --baseFolder /opt/gitblit/data --dailyLogFile
root 7447 7217 0 11:19 pts/0 00:00:00 grep gitblit 第二种方式,手动启动:
[root@gitblit-server gitblit]# java -jar gitblit.jar --baseFolder data
2017-05-31 11:51:17 [INFO ] *****************************************************************
2017-05-31 11:51:17 [INFO ] _____ _ _ _ _ _ _
2017-05-31 11:51:17 [INFO ] | __ \(_)| | | | | |(_)| |
2017-05-31 11:51:17 [INFO ] | | \/ _ | |_ | |__ | | _ | |_
2017-05-31 11:51:17 [INFO ] | | __ | || __|| '_ \ | || || __|
2017-05-31 11:51:17 [INFO ] | |_\ \| || |_ | |_) || || || |_
2017-05-31 11:51:17 [INFO ] \____/|_| \__||_.__/ |_||_| \__|
2017-05-31 11:51:17 [INFO ] Gitblit v1.6.2
2017-05-31 11:51:17 [INFO ]
2017-05-31 11:51:17 [INFO ] *****************************************************************
2017-05-31 11:51:17 [INFO ] Running on Linux (2.6.32-642.el6.x86_64)
2017-05-31 11:51:17 [INFO ] Logging initialized @1233ms
2017-05-31 11:51:17 [INFO ] Using JCE Unlimited Strength Jurisdiction Policy files
2017-05-31 11:51:17 [INFO ] Setting up HTTPS transport on port 8443
2017-05-31 11:51:17 [INFO ] certificate alias = localhost
2017-05-31 11:51:17 [INFO ] keyStorePath = /opt/gitblit/data/serverKeyStore.jks
2017-05-31 11:51:17 [INFO ] trustStorePath = /opt/gitblit/data/serverTrustStore.jks
2017-05-31 11:51:17 [INFO ] crlPath = /opt/gitblit/data/certs/caRevocationList.crl
........ 确保gitblit的8443端口已打开
[root@gitblit-server gitblit]# lsof -i:8443
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 7421 root 94u IPv6 1224421 0t0 TCP *:pcsync-https (LISTEN)

打开浏览器,依据你的配置进入https://localhost:8443。 输入默认的管理员授权:admin / admin 并点击Login 按钮

添加用户操作

添加仓库操作

这样就在组huanqiu下创建了hqpc的代码仓库。还可以在huanqiu组下创建其它的仓库

可以是用上面创建的wangshibo用户登陆,然后将客户机的ssh公钥添加到gitblit的wangshibo用户下,这样就能使用ssh方式进行操作了。

添加客户机公钥,可以设置操作权限(读写权限)

然后就可以在客户机上进行代码操作了

[root@Agent-node1 ~]# cd /opt
[root@Agent-node1 opt]# git clone ssh://wangshibo@182.48.115.233:29418/huanqiu/hqpc.git
Initialized empty Git repository in /opt/hqpc/.git/
warning: remote HEAD refers to nonexistent ref, unable to checkout. [root@Agent-node1 opt]# ls
hqpc
[root@Agent-node1 opt]# cd hqpc/
[root@Agent-node1 hqpc]# echo "123123" > test.txt
[root@Agent-node1 hqpc]# git add test.txt
[root@Agent-node1 hqpc]# git commit -m "added by wangshibo"
[master (root-commit) fd709a4] added by wangshibo
Committer: root <root@Agent-node1.(none)>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly: git config --global user.name "Your Name"
git config --global user.email you@example.com //可以在操作下执行这两行,进行全局设置(不操作也行) If the identity used for this commit is wrong, you can fix it with: git commit --amend --author='Your Name <you@example.com>' 1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 test.txt [root@Agent-node1 hqpc]# git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 222 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Updating references: 100% (1/1)
To ssh://wangshibo@182.48.115.233:29418/huanqiu/hqpc.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.

然后登陆到gitblit页面,查看test.txt文件是否已经成功推到了hqpc仓库里了

--------------------------------------------------------------------------

还可以设置用户的访问权限

中英文显示,可以在"用户中心"的"偏好设置"里选择中文或是英文显示

可以在"我的公告板"里查看最近的操作记录情况

Gitblit版本服务器环境部署记录的更多相关文章

  1. Gitblit-Git版本服务器环境部署

    Gitblit介绍 Gitblit 是一个纯 Java 库用来管理.查看和处理 Git 资料库.相当于 Git 的 Java 管理工具,支持linux系统. Git是分布式版本控制系统,它强调速度.数 ...

  2. kafka 基础知识梳理及集群环境部署记录

    一.kafka基础介绍 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特 ...

  3. Centos7.5基于MySQL5.7的 InnoDB Cluster 多节点高可用集群环境部署记录

    一.   MySQL InnoDB Cluster 介绍MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, G ...

  4. Centos7下ELK+Redis日志分析平台的集群环境部署记录

    之前的文档介绍了ELK架构的基础知识,日志集中分析系统的实施方案:- ELK+Redis- ELK+Filebeat - ELK+Filebeat+Redis- ELK+Filebeat+Kafka+ ...

  5. MySQL高可用方案-PXC环境部署记录

    之前梳理了Mysql+Keepalived双主热备高可用操作记录,对于mysql高可用方案,经常用到的的主要有下面三种: 一.基于主从复制的高可用方案:双节点主从 + keepalived 一般来说, ...

  6. MySQL高可用架构-MHA环境部署记录

    一.MHA介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司) ...

  7. MySQL高可用架构-MMM环境部署记录

    MMM介绍MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序.MMM使用Perl语言开发,主要用来监控和管理 ...

  8. Linux下rsyslog日志收集服务环境部署记录【转】

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  9. # centos7下FFmpeg环境部署记录

    # centos7下FFmpeg环境部署记录 随着视频在网站上的应用越来越多,越来越多的网站服务器需要支持视频转码,视频压缩,FFmpeg是目前最好用的网站服务器后台转码程序,应用最多.FFmpeg是 ...

随机推荐

  1. Postgre SQL连接服务器失败

    首先这是登陆postgre sql时提示的错误信息: psql: 无法联接到服务器: Connection refused (0x0000274D/10061)        服务器是否在主机 &qu ...

  2. C++中cin.clear()的用法

    我们谈谈cin.clear的作用,第一次看到这东西,很多人以为就是清空cin里面的数据流,而实际上却与此相差很远,首先我们看看以下代码: #include <iostream>  usin ...

  3. WTL汉化版

    基于 WTL90_4060 仅汉化了Windows部分,CE和Mobile未汉化 AppWizard和rc文件已全部汉化 如果不需要汉化则将所有的2052目录删除即可 如有问题可以给我留言 点我下载

  4. Linux下的进程类别(内核线程、轻量级进程和用户进程)--Linux进程的管理与调度(四)

    本文中出现的,内核线程,轻量级进程,用户进程,用户线程等概念,如果不太熟悉, 可以参见 内核线程.轻量级进程.用户线程三种线程概念解惑(线程≠轻量级进程) Linux进程类别 虽然我们在区分Linux ...

  5. JavaScript高级特性-数组

    1. JavaScript中的数组 在C++.Java中,数组是一种高效的数据结构,随机访问性能特别好,但是局限性也特别明显,就是数组中存放的数据必须是同一类型的,而在JavaScript中,数组中的 ...

  6. 17秋 软件工程 第六次作业 Beta冲刺 Scrum2

    17秋 软件工程 第六次作业 Beta冲刺 Scrum2 我们组转会成员:杰麟: 我们组新成员:宏庆. 各个成员冲刺期间完成的任务 世强:完成分页功能的演示: 陈翔:完成超级管理员后端login模块: ...

  7. UVa 11846 - Finding Seats Again

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. WINS服务器与DNS服务器有什么区别?

    1.WINS实现的是IP地址和计算机名称的映射,DNS实现的是IP地址和域名的映射.2.WINS作用的范围是某个内部网络,DNS的范围是整个互联网.简单说明一下:WINS实现的是IP地址和计算机名称的 ...

  9. kubernetes statefulset kafka 部署后, 外部访问超时问题解决

    k8s 内部的kafka要映射到外网,直接把 kafka 通过 expose 把pod 映射成服务,使用nodeport 连接,出现超时问题, 解决思路: 1.  查看zk中,kafka的注册信息,P ...

  10. mybatis基础系列(四)——关联查询、延迟加载、一级缓存与二级缓存

    关本文是Mybatis基础系列的第四篇文章,点击下面链接可以查看前面的文章: mybatis基础系列(三)——动态sql mybatis基础系列(二)——基础语法.别名.输入映射.输出映射 mybat ...