由于前面有篇文章是gitlab的源码编译,如果是讲究效率和简单的话可以rpm安装gitlab。下面就对我近期对gitlab使用做一下简单的记录。
要求:需要个干净的系统
一、安装必要的依赖
sudo yum install openssh-server
sudo yum install postfix
sudo yum install cronie
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh(这句是做防火墙的,其实深的我也不懂。)
二、下载Omnibus package包并安装
(1)curl -O https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-7.9.2_omnibus-1.el6.x86_64.rpm
sudo rpm -i gitlab-7.9.2_omnibus-1.el6.x86_64.rpm
然后执行:gitlab-ctl reconfig (重新编译)
其实到此你的gitlab就已经能够访问了。下面就是对于你的需求进行简单的修改配置而已。
username:root
password: 5iveL!fe
三、修改配置
当我在测试发送邮件时:echo “this is test email”|mail -s “test email” xxxxxx@xx.com
发现来自于name@gitlab.example.com 这名字显然不是我们想要的。要不改成自己的域名,要不改成自己的IP。
根据我的配置:
想修改域名:vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
(1)host (2)email_from 两项
是先要停掉gitlab服务。
去修改配置文件保存后
再启动gitlab服务。
完活
你的配置就得到修改了。
有的人说修改/etc/gitlab/gitlab.rb,但是我没有试。
可以通过查看日志: tail -f /var/log/maillog 看邮件试发情况。
四、gitlab客户端使用
1、创建user
(1)名字
(2)username
(3)邮箱
(4)密码(如果你的邮箱没有问题的话,可以提示用户自己修改密码。如果你的邮件被阻拦的话。日志里会提示发送超时,原因大概是是因为你的postfix服务没有注册,不能一直发送邮件。可以点击用户后的exit(编辑)来给用户重置密码。)
其他的都是可以自己去摸索。以上的是创建用户必须去给赋值的。
2、验证登陆
。。。。。。。。此处省略。
3、安装客户端(windows)
(1)需要安装的有git和TortoiseGit
我选择的都是默认的。
安装完成后。
(2)用户登陆
首先就是要生成密钥:
在git-bash:
可以事先看下:git config --list
确定gitlab的本地用户
git config --global user.name "username"
git config --global user.email "your_email_address"
ssh-keygen -t rsa -C your_email_address
去你的本地用户目录下着.ssh目录 下应该会有两个文件(id_rsa id_rsa.pub)。
你需要打开公钥文件把该文件里的内容复制到 在网页登陆gitlab里ssh keys里的
点击Add ssh key
标题可以随便。把上边都内容复制到下面即可。
验证:ssh -T git@your_gitlabserver
如果出现:Welcom to Gitlab,yourname!
说明认证成功!
4、仓库使用
1)创建本地仓库
创建文件夹
git bash:
cd C:
mkdir -p www/testgit/
cd www/testgit
git init(初始化:通过命令 git init 把这个目录变成git可以管理的仓库,如下)
(2)把文件添加到版本库
vim test.txt
11111
第一步:使用命令 git add test.txt添加到暂存区里面去。
:git add test.txt
没有任何提示,说明已经添加成功了。
git add file
当出现:类似warning: LF will be replaced by CRLF
按照下面的步骤进行操作
首先:rm -rf .git
git init
git config --global core.autocrlf false
再将文件加载到内存中即可。
第二步:用命令 git commit告诉Git,把文件提交到仓库。
: git commit -m "提示"
如果显示“提示”就说明执行成功。
第三步:现在我们已经提交了一个readme.txt文件了,我们下面可以通过命令git status来查看是否还有文件未提交,如下:
:git status
nothing to commit。。。
说明执行成功。。
剩下的就是你可以去你的本地文件夹内有个test.txt文件说明本地库创建成功、
理解工作区与暂存区的区别?
工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
我们前面说过使用Git提交文件到版本库有两步:
第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
5、上传远程库
现在的情景是:我们已经在本地创建了一个Git仓库后,又想在github创建一个Git仓库,并且希望这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。
(1)首先登陆网页gitlab创建个项目:
因为我们是通过ssh认证的所有选择ssh :
例如:git@192.168.10.186Z:/username/test-git.git 作为远程目录。
此处的test-git是你刚创建的目录名字。
(2)
于是在本地仓库执行:
git remote add origin git@192.168.10.186Z:/username/test-git.git
此时就确定了你的远程目录以及以后默认就是传到该项目下。
git push -u origin master
由于远程库是空的,我们第一次推送master分支时,加上了 Cu参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了
从现在起,只要本地作了提交,就可以通过如下命令:git push origin master
你可以去网页版查看多和本地仓库的内容一样了。。。
你可以在网页上创建个project(test2-git):
git clone git@192.168.10.186:/username/test2-git.git
稍等你本地仓库就会有你刚创建的项目了。。。
有可能有很多不足之处。。希望大家多多指正。这仅仅是我自己做实验遇到的一些问题。
参考文档:
安装gitlab:http://segmentfault.com/a/1190000002722631
安装客户端:http://blog.jobbole.com/78960/
本文出自 “黎明前的黑暗” 博客,谢绝转载!