-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgitlab安装.txt
261 lines (194 loc) · 7.72 KB
/
gitlab安装.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
命令安装:
curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
配置:
sudo vim /etc/gitlab/gitlab.rb
将external_url = 'http://git.example.com'修改成自己的 IP 或者 HostName
external_url = 'http://118.24.131.38'
#修改nginx监听
#gitlab默认使用了nginx进行反向代理,这里我重新配置了一下 gitlab.rb-500多行接近600行但地方
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 7799
#重新配置nginx gitlab.rb-800多行的地方
nginx['enable'] = true
nginx['listen_addresses'] = ['*']
nginx['listen_port'] = 82
sudo gitlab-ctl reconfigure//重新加载配置
gitlab-ctl restart 重新启动
可能需要安装postfix:
sudo apt-get install postfix
首次登录会提示初始化root密码。"18215606560"
补充:
/var/opt/gitlab/nginx/conf/ 放置的是nginx的配置
gitlab-ctl status 查看运行状态
gitlab-ctl tail unicorn 检查unicorn的日志 //502错误时可查看
gitlab删除项目:
点击进入项目,回看到有一排导航(project, repository, issues,...., 等,其中有个settings),点击settings, settings下general找到advanced settings边上的expand,然后找到remove project,点击remove project,然后会弹出框,然后输入项目的名称。
Gitlab给项目添加成员:
settings下找到members,然后根据提示进行。
Gitlab分支权限设置:
settings下Repository的Protected Branches,选择分支,调整相应权限即可。
Git clone master是不会把其它分支clone下来的
查看远程分支:
git branch -r 查看远程分支
git branch 是查看本地分支
git branch xxx 创建分支
git checkout xxx 切换分支
git checkout -b [name] 创建新分支并立即切换到新分支
git remote命令列出所有远程主机
origin
git remote -v 可以参看远程主机的网址和名称
git remote add origin [email protected]:jquery/jquery.git (push) 添加远程仓库
git remote set-url --add origin <url> 添加多个地址到origin库,这样可以使一次性push到多个地址里面
git push
如果当前分支只有一个远程分支,那么主机名都可以省略
git push origin test:test // 提交本地test分支作为远程的test分支
创建本地分支zwj
Git branch zwj
Git checkout zwj //切换到zwj
Git push origin zwj:zwj (提交本地的zwj到zwj)
Git push origin master:zwj
git添加tag
git tag -a v1.0.0 -m '新版本'(git push并不会把tag标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库)
git push origin v1.0.0 #将本地v1.0的tag推送到远端服务器
//默认情况master分支不允许push
git clone http://www.sccps.cn:82/xs/xs-intelligence-system.git后
git checkout -b xxx(你名字的首字母,如邓带雨,git checkout -b ddy)(这步是创建分支并切换到此分子)
以后提交代码:
git push -u origin xxx(如邓带雨,git push -u origin ddy)
// 放弃本地修改
git checkout .
git checkout --filename
(此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除
此命令不会删除新建的文件,因为新建的文件还没加入git管理系统中,所以对git来说是未知,只需手动删除即可
)
//对于已使用git add 缓存代码,未使用git commit
git reset HEAD
//已经用 git commit 提交了代码
git reset --hard "HEAD^" 删除工作空间的改动代码,撤销commit且撤销add
git reset --soft "HEAD^" 不删除工作空间的改动代码 ,撤销commit,不撤销git add file
修改commit:
git commit --amend
这时候会进入vim编辑器,修改完成你要的注释后保存即可。
---------------------------------------git 安装------------------------------------------------------
下载tar.gz
下载地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
然后
$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
---------------centos7-------------
前提条件:安装git
离线下载依赖:
yumdownloader openssh-server openssh-clients postfix cronie policycoreutils-python --resolve --destdir=/home/gitlab
打包:
tar -zcvf ./gitlab.tar.gz gitlab/
下载gitlab-ce
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
下载汉化包:
git clone https://gitlab.com/xhang/gitlab.git
指定汉化包版本下载:
git clone https://gitlab.com/xhang/gitlab.git -b v11.6.0-zh
查看版本
cat gitlab/VERSION
汉化版本需与gitlab-ce版本一致
安装:
1.安装依赖:
Cd /home/gitlab
rpm -Uvh *.rpm --nodeps --force
2.启动postfix,并设置为开机启动 (邮件服务)
systemctl start postfix
systemctl enable postfix
3.安装gitlab-ce rpm包
rpm -i gitlab-ce-11.6.0-ce.0.el7.x86_64.rpm
4.执行指令配置gitlab。
gitlab-ctl reconfigure
5.修改配置文件gitlab.rb
vim /etc/gitlab/gitlab.rb
将external_url变量的地址修改为gitlab所在centos的ip地址
将nginx['listen_port'] = 8888
修改端口:
cd /var/opt/gitlab/nginx/conf
vim gitlab-http.conf
server {
listen *:8888;
6.修改了配置文件,故需要重新加载配置内容。
gitlab-ctl reconfigure
gitlab-ctl restart
7.查看gitlab版本
head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 11.6.0
8.覆盖汉化包
停止gitlab服务
gitlab-ctl stop
9.切换到gitlab汉化包所在的目录(即步骤二获取的汉化版gitlab)
cd /home/gitlab
10.比较安装版与汉化版的区别,导出 patch 用的 diff 文件到/home下
git diff v11.6.0 v11.6.0-zh > ../11.6.0-zh.diff
问题:
File to patch:
#这是因为补丁中有一些较新的文件,但是我们安装的gitlab并没有这个文件存在
#所以解决方法就是:跳过!!!
#跳过!!!
#跳过!!!
#跳过!!!
#出现这个错误时,一直按着回车跳过就行了!!!!
11.将10.0.2-zh.diff作为补丁更新到gitlab中
yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 11.6.0-zh.diff
注意:此代码有个错在app/helpers/members_helper.rb中最后多了一个end导致语法错误
vim /opt/gitlab/embedded/service/gitlab-rails/app/helpers/members_helper.rb
删除最后一个end(真是的,故意加的错吗,真讨厌)
12.启动gitlab
gitlab-ctl start
13.重新配置gitlab
gitlab-ctl reconfigure
14.访问http://192.168.50.51:8888
问题:汉化后 502
请使用gitlab-ctl tail unicorn查看错误信息,如果是members_helper.rb语法错误,检测错误信息。
15.第一次访问会要求你改密码:
改为uestc@123456
16.修改密码
命令行:
#gitlab-rails console production
irb(main):001:0>u = User.where(id:1).first
irb(main):002:0> u.password='Cuiwenhu'
irb(main):003:0> u.password_confirmation='Cuiwenhu'
irb(main):006:0> u.save!
17.gitlab仓库默认存放路径为/var/opt/gitlab/git-data/repositories
创建/mnt/sdb4T/gitlab目录
修改gitlab配置文件,找到git_data_dir
vim /etc/gitlab/gitlab.rb
去掉git_data_dirs的注释
git_data_dirs({
"default" => {
"path" => "mnt/sdb4T/gitlab"
}
})
停止当前gitlab,重新加载配置
gitlab-ctl stop
gitlab-ctl reconfigure
最后启动gitlab即可
gitlab-ctl start
18.git 升级
安装依赖软件
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum remove git
wget https://www.kernel.org/pub/software/scm/git/git-2.31.1.tar.xz
tar -vxf git-2.31.1.tar.xz
cd git-2.31.1
make prefix=/usr/local/git all
make prefix=/usr/local/git install
vim /etc/profile
添加:$PATH:/usr/local/git/bin
source /etc/profile
git --version
ln -s /usr/local/git/bin/git /usr/bin/git
或:
需要安装ius repo
yum install -y https://centos7.iuscommunity.org/ius-release.rpm
卸载git 1.8
# yum remove git
安装新git
# yum -y install git2u-all