Linux基本实例教程之构建归属于你自身的Git网络服务器

Git 是由 Linux Torvalds 开发设计的一个版本号操纵系统软件,目前已经被全球很多开发设计者应用。很多企业喜爱应用根据 Git 版本号操纵的 GitHub 编码代管。
依据报导,GitHub 是目前全球较大的编码代管网站。
济源企业网站建设GitHub 声称早已有 920 万客户和 2180 万只库房。很多大中型企业目前也将编码转移到 GitHub 上。乃至于Google——一家检索模块企业,也正将编码转移到 GitHub 上。

运作你自身的 Git 网络服务器

GitHub 能出示极好的服务,但却有一些限定,特别是在就是你是单人或者一位 coding 喜好者。GitHub 在其中之一的限定便是在其中完全免费的服务沒有出示编码独享代管业务流程。你没得不付款每个月 7 美元选购 5 个独享库房,而且要想大量的独享库房则要交大量的钱。

万一你要要独享库房或必须大量管理权限操纵,最好的方式便是在你的网络服务器上运作 Git。不但你可以够省掉一笔钱,你要可以在你的网络服务器有大量的实际操作。在大多数数状况下,大多数数高級 Linux 客户早已有着自身的网络服务器,而且在这里些网络服务器上边式 Git 如同“啤酒一样完全免费”(LCTT 译注:指完全免费手机软件)。

进行剩下89%

在这里篇实例教程中,大家关键讲在你的网络服务器上,应用二种编码管理方法的方式。一种是运作一个纯 Git 网络服务器,另外一个是应用名叫 GitLab 的 GUI 专用工具。在本实例教程中,我还在 VPS 上运作的实际操作系统软件是 Ubuntu 14.04 LTS。

在你的网络服务器上安裝 Git

在这篇实例教程中,大家考虑到一个简易实例,大家有一个远程控制网络服务器和一台当地网络服务器,如今大家必须应用这两部设备来工作中。以便简易考虑,大家就各自叫他们为远程控制网络服务器和当地网络服务器。

最先,在两侧的设备上安裝 Git。你可以以从依靠包中安裝 Git,在文中中,大家将应用更简易的方式:

sudo apt-get install git-core

为 Git 建立一个客户。

sudo useradd git

passwd git

以便非常容易的浏览网络服务器,大家设定一个免密 ssh 登陆。最先在你当地电脑上上建立一个 ssh 密匙:

ssh-keygen -t rsa

这时候会规定你键入储存密匙的相对路径,这时候只必须点一下回车键储存在默认设置相对路径。第二个难题是键入浏览远程控制网络服务器需要的登陆密码。它转化成2个密匙——公匙和私钥。记录下来您在下一步中必须应用的公匙的部位。

如今您务必将这种密匙拷贝到网络服务器上,便于两部设备能够互相通讯。在当地设备上运作下列指令:

cat ~/.ssh/id_rsa.pub | ssh -server "mkdir -p ~/.ssh cat ~/.ssh/authorized_keys"

如今,用 ssh 登陆进网络服务器并且为 Git 建立一个新项目相对路径。你可以认为你的库房设定一个你要要的文件目录。

如今自动跳转到该文件目录中:

cd /home/swapnil/project-1.git

如今在建一个空库房:

git init --bare

Initialized empty Git repository in /home/swapnil/project-1.git

如今大家必须在当地设备上架建一个根据 Git 版本号操纵库房:

mkdir -p /home/swapnil/git/project

进到大家建立库房的文件目录:

cd /home/swapnil/git/project

如今在该文件目录中建立新项目需要的文档。留到这一文件目录并起动 git:

git init

Initialized empty Git repository in /home/swapnil/git/project

把全部文档加上到库房中:

git add .

如今,每一次加上文档或开展变更时,都务必运作上边的 add 指令。 您还必须为每一个文档变更都载入递交信息。递交信息大部分表明了大家所做的变更。

git commit -m "message" -a

[master (root-commit) 57331ee] message

2 files changed, 2 insertions(+)

create mode 100644 GoT.txt

create mode 100644 writing.txt

在这里种状况下,是我一个名叫 GoT(《权利的手机游戏》的评价)的文档,而且我干了一些变更,因此当我们运作指令时,它特定对文档开展变更。 在上边的指令中 -a 选择项寓意着递交库房中的全部文档。 假如您只变更了一个,则能够特定该文档的名字而并不是应用 -a。

举一个案子:

git commit -m "message" GoT.txt

[master e517b10] message

1 file changed, 1 insertion(+)

到如今才行,大家一直在当地网络服务器上工作中。如今大家务必将这种变更消息推送到远程控制网络服务器上,便于根据互连网浏览,而且能够两者之间他精英团队组员开展合作。

git remote add origin ssh://-server/repo- wbr a="" path-on-server..git

如今,您可使用 pull 或 push 选择项在网络服务器和当地测算机中间消息推送或拉取:

git push origin master

假如有别的精英团队组员要想应用此项目,则必须将远程控制网络服务器上的库房复制到其当地测算机上:

git clone -server:/home/swapnil/project.git

这儿 /home/swapnil/project.git 是远程控制网络服务器上的新项目相对路径,在你该机上则会更改。

随后进到当地测算机上的文件目录(应用网络服务器上的新项目名字):

cd /project

如今她们能够编写文档,载入递交变更信息内容,随后将他们消息推送到网络服务器:

git commit -m 'corrections in GoT.txt story' -a

随后消息推送更改:

git push origin master

我觉得这得以让一个新客户刚开始在她们自身的网络服务器上应用 Git。 假如您已经找寻一些 GUI 专用工具来管理方法当地测算机上的变更,则可使用 GUI 专用工具,比如 QGit 或 GitK for Linux。

应用 GitLab

它是新项目全部者合谐创作者的纯指令行处理计划方案。这自然不象应用 GitHub 这么简单。悲剧的是,虽然 GitHub 是全世界较大的编码代管商,可是它自身的手机软件他人却没法应用。由于它并不是开源系统的,因此你没能获得源码并编译程序你自身的 GitHub。这与 WordPress 或 Drupal 不一样,您没法免费下载 GitHub 并在您自身的网络服务器上运作它。

像以往一样,在开源系统全球中,是沒有结束的终点。GitLab 是一个十分出色的新项目。它是一个开源系统新项目,容许客户在自身的网络服务器上运作相近于 GitHub 的新项目管理方法系统软件。

您可使用 GitLab 为精英团队组员或企业运作相近于 GitHub 的服务。您可使用 GitLab 在公布公布以前开发设计独享新项目。

GitLab 选用传统式的开源系统商业服务方式。她们有二种商品:完全免费的开源系统手机软件,客户能够在自身的网络服务器上安裝,及其相近于 GitHub 的代管服务。

可免费下载版本号有2个版本号,完全免费的小区版和付钱公司版。公司版根据小区版,但附加对于公司顾客的别的作用。它多多少少与 http://WordPress.org 或 http://Wordpress 出示的服务相近。

小区版具备高宽比扩展性,能够在单独网络服务器或集群上适用 25000 个客户。GitLab 的一些作用包含:Git 库房管理方法,编码评价,难题追踪,主题活动源和维基。它配置了 GitLab CI,用以不断集成化和交货。

Digital Ocean 等很多 VPS 出示同乡会为客户出示 GitLab 服务。 假如你要在你自身的网络服务器上运作它,你可以以手动式安裝它。GitLab 为不一样的实际操作系统软件出示了手机软件包。 在大家安裝 GitLab 以前,您将会必须配备 SMTP 电子器件电子邮件网络服务器,便于 GitLab 能够在必须时随时随地消息推送电子器件电子邮件。官方网强烈推荐应用 Postfix。因此,先在你的网络服务器上安裝 Postfix:

sudo apt-get install postfix

在安裝 Postfix 期内,它会询问你一些难题,不必绕过他们。 假如你一很大心率过,你可以令其用这一指令来再次配备它:

sudo dpkg-reconfigure postfix

运作此指令时,挑选 “Internet Site”并且为应用 Gitlab 的网站域名出示电子器件电子邮件 ID。

我是那样键入的:

用 Tab 键并且为 postfix 建立一个客户名。接下去可能规定你键入一个总体目标电子邮箱。

在剩余的流程中,都挑选默认设置选择项。当我们们安裝且配备进行后,大家再次安裝 GitLab。

大家应用 wget 来免费下载手机软件包(用 全新包 更换免费下载连接):

wget https://downloads-packages.s3.amazonaws/ubuntu-14.04/gitlab_7.9.4-omnibus.1-1_amd64.deb

随后安裝这一包:

sudo dpkg -i gitlab_7.9.4-omnibus.1-1_amd64.deb

如今现在是时候配备并起动 GitLab 了。

sudo gitlab-ctl reconfigure

您如今必须在配备文档中配备网站域名,便于您能够浏览 GitLab。开启文档。

nano /etc/gitlab/gitlab.rb

在这里个文档中编写 external_url 并键入网络服务器网站域名。储存文档,随后从 Web 访问器中开启在建的一个 GitLab 站点。

默认设置状况下,它会以系统软件管理方法员的真实身份建立 root,并应用 5iveL!fe 做为登陆密码。 登陆到 GitLab 站点,随后变更登陆密码。

登陆密码变更后,登陆该网站并刚开始管理方法您的新项目。

GitLab 有许多选择项和作用。最终,我使用影片“网络黑客王国”中的經典台词:“悲剧的是,沒有人了解 GitLab 能够干什么。你务必亲身试着一下。”