前置条件:git客户端windows,gitlab服务端搭建,centos7系统
一、Git客户端安装,创建本地仓库
- 1、安装完成,配置用户名和邮箱:
git config --global user.name "xiaoer"
git config --global user.email "xiaoer@example.com"
- 2、在本地计算机右键→Git Bash Here,创建一个空目录:mkdir test;
- 3、
git init
命令使这个目录变成Git可以管理的仓库; - 4、可以新建一个文件,如:
echo "print('love u'*10)" >> test.py
; - 5、提交新建的文件:
git add test.py
→git commit -m "creat file"
; - 6、生成本地的密钥SSH key,作为和远程仓库的连接条件:
ssh-keygen -t rsa -C "xiaoer@example.com"
- 7、复制公钥,查看目录下是否有三个文件,如果是,证明生成SSH key成功,复制id_rsa.pub里的内容:
>>cd ~/.ssh
>>ls
id_rsa id_rsa.pub known_hosts
二、Gitlab远程服务端搭建
- 1、配置yum源:
vi /etc/yum.repos.d/gitlab-ce.repo
,复制以下内容:
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
- 2、更新本地yum缓存:
yum makecache
; - 3、安装GitLab社区版:
yum install gitlab-ce #自动安装最新版
yum install gitlab-ce-x.x.x #安装指定版本
- 4、修改gitlab的访问地址&端口&邮箱,配置文件是gitlab.rb:
1)命令查找:whereis gitlab
[root@localhost gitlab]# whereis gitlab
gitlab: /etc/gitlab
[root@localhost gitlab]#
2)cd到该目录下,ls查看目录下文件
[root@localhost gitlab]# ls
gitlab.rb gitlab-secrets.json trusted-certs
3)编辑gitlab.rb文件[root@localhost gitlab]# vi gitlab.rb
4)配置邮箱和关闭普罗米修斯prometheus
第一步:在gitlab.rb文件里查找:/Email Settings,修改以下三行,取消注释
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xxxxxx@qq.com' //填写自己的邮箱
gitlab_rails['gitlab_email_display_name'] = 'xiaoer'
# gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
# gitlab_rails['gitlab_email_subject_suffix'] = ''
# gitlab_rails['gitlab_email_smime_enabled'] = false
# gitlab_rails['gitlab_email_smime_key_file'] = '/etc/gitlab/ssl/gitlab_smime.key'
# gitlab_rails['gitlab_email_smime_cert_file'] = '/etc/gitlab/ssl/gitlab_smime.crt
第二步:修改邮箱服务smtp.qq.com,查找命令:/stmp,修改成如下信息
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxxxxx@qq.com" /填写自己的邮箱
gitlab_rails['smtp_password'] = "xxxxkkkk" //此密码为授权码,在qq邮箱设置里生成
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
第三步:关闭prometheus,具体是做什么的,小二暂时不知道,查找,n键翻页,将第一行注释去掉,并改成false
prometheus['enable'] = false
# prometheus['monitor_kubernetes'] = true
# prometheus['username'] = 'gitlab-prometheus'
# prometheus['group'] = 'gitlab-prometheus'
# prometheus['uid'] = nil
- 5、最后启动服务:
sudo gitlab-ctl reconfigure
→sudo gitlab-ctl restart
三、配置远程仓库Gitlab的SSH key,连接本地仓库
-
1、Gitlab创建新工程
第一步
第二步 - 2、本地仓库Git创建与远程仓库Gitlab的连接:
git remote add origin(别名,取什么都可以) http://localhost:82/test1/jenkins.git
- 3、Git直接push会报错,要先拉取下来:
git pull origin master
$ git pull origin master
warning: no common commits
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done. #==>有进度展示
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From http://192.168.1.103:82/test1/jenkins
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
fatal: refusing to merge unrelated histories
- 4、拉取下来后,要合并本地和远程,可以使用
git branch -va
查看本地和远程的分支
$ git branch -va
* master f819cad creat the first py #本地的
remotes/origin/master cd45b60 Initial commit #远程的
直接merge会报错:
$ git merge origin/master
fatal: refusing to merge unrelated histories
使用git merge -h命令查看帮助,然后使用--allow-unrelated-histories命令
$ git merge --allow-unrelated-histories origin/master
Merge made by the 'recursive' strategy.
README.md | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 README.md
然后就可以了,也可以使用gitk --all查看分支树,我看不懂
- 5、然后就可以push了:
git push origin master
四、补充:域名解析
-
我们访问的gitlab或者jenkins地址都是ip:端口的形式,在上面修改gitlab的url地址时候可以改成其他域名,例如:xiaoer:82,那么我们就需要在本地电脑上做域名解析
域名解析
网友评论