5.2 KiB
如何在Linux下使用Gitblit工具创建Git仓库服务
嗨!朋友,今天我们将学习如何在你的Linux服务器或者PC上安装Gitblit工具。首先,我们看看什么是Git,它的功能以及安装Gitblit的步骤。Git是分布式版本控制系统,它强调速度、数据一致性,并且支持分布式、非线性工作流。它最初由Linus Torvalds在2005年为Linux内核设计和开发,使用GPL2证书,并因此成为软件开发中使用最广泛的版本控制系统。
Gitblit是完全开源的软件,它基于纯粹的Java堆栈,被设计以在Git仓库速度和效率方面胜任从小型到极大型的项目。它很容易学习和上手,并有着闪电般的性能。它在廉价的本地分支、便于staging、多工作流等方面远胜过一些SCM(版本控制)工具,比如Subversion、CVS、Perforce和ClearCase。
Gitblit的功能
- 它可以做为一个无声的仓库视图,没有管理控制以及用户账户。
- 它可以做为完整的Git堆栈,拥有clone, pushing和仓库存取控制。
- 它能独立于其他Git工具使用(包括实际的Git),它能和您已创建的工具合作。
1.创建Gitblit安装目录
首先我们将在我们的服务器上建立一个目录,我们将在该目录下安装最新的Gitblit。
$ sudo mkdir -p /opt/gitblit
$ cd /opt/gitblit
2. 下载并解压
现在,我们将从Gitblit官方站点下载最新版的Gitblit。这里我们将安装1.6.2版本。所以,请在安装时根据具体的版本对命令进行修改。
$ sudo wget http://dl.bintray.com/gitblit/releases/gitblit-1.6.2.tar.gz
接下来,我们将解压下载到的tarball压缩包至之前创建的目录 /opt/gitblit/
$ sudo tar -zxvf gitblit-1.6.2.tar.gz
3.配置并运行
现在,我们将对Gitblit进行配置。如果你想要定制Gitblit的行为,你可以修改gitblit/data/gitblit.properties
。在完成配置后,我们将运行安装好的gitblit。有两种方式来运行gitblit,第一种是通过下面的命令手动运行:
$ sudo java -jar gitblit.jar --baseFolder data
另一种是将gitblit添加为服务。下面是在linux下将gitblit添加为服务的步骤。
由于我在使用Ubuntu,下面的命令将是 sudo cp service-ubuntu.sh /etc/init.d/gitblit。所以请根据你的发行版修改文件名service-ubuntu.sh为相应的你运行的发行版。
$ sudo ./install-service-ubuntu.sh
$ sudo service gitblit start
现在,我们将添加一个新的用户。首先,你需要以admin用户登录,username = admin,password = admin。
然后,点击 user icon > users > (+) new user 来创建一个新用户,如下图所示。
现在,我们将创建一个开箱可用的仓库。点击 repositories > (+) new repository。然后,如下图所示添加新的仓库。
使用命令行创建一个新的仓库
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git
git push -u origin master
请将用户名arunlinoxide替换为你添加的用户名。
在命令行中push一个已存在的仓库
git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git
git push -u origin master
注意:强烈建议所有人修改用户名“admin”的密码。
结论
欢呼吧!我们已经在Linux电脑中安装好了最新版本的Gitblit。接下来我们便可以在我们的大小工程中享受这样一个优美的版本控制系统。有了Gitblit,版本控制便再容易不过了。它有易于学习、轻量级、高性能的特点。因此,如果你有任何的问题、建议和反馈,请在留言处留言。
via: http://linoxide.com/linux-how-to/serve-git-repositories-gitblit/
作者:Arun Pyasi 译者:wwy-hust 校对:校对者ID