準備環境:172.18.9.200是gitlab、172.18.9.201是jenkins
Git是gitlab的客戶端命令,gitlab是應用程序html
rpm包國內下載地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/nginx
(注:我在此處停留好久,由於我yum時老是報錯「Nothing to do」,只要咱們mount上光盤,配好epel源aliyun的鏡像便可yum了,由於此時源碼包已上傳至虛擬機,這時下載源碼包已經和yum源不要緊了)git
port=2022 #默認爲22,必改web
external_url 'http://172.18.9.150' 此項改成IP,是爲了讓開發人員能連上咱們。
###Email Settings
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "rooroot@163.com"
gitlab_rails['smtp_password'] = "zhang@123"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = "rooroot@163.com"
user["git_user_email"] = rooroot@"163.com" 該處的「」必須加上,sql
[root@200 ~]#gitlab-
gitlab-ctl gitlab-psql gitlab-rails gitlab-rake vim
run: alertmanager: (pid 30017) 149s; run: log: (pid 29629) 188s
run: gitaly: (pid 29893) 154s; run: log: (pid 28314) 338s
run: gitlab-monitor: (pid 29950) 153s; run: log: (pid 29390) 212s
run: gitlab-workhorse: (pid 29911) 154s; run: log: (pid 29077) 243s
run: logrotate: (pid 29207) 233s; run: log: (pid 29228) 230s
run: nginx: (pid 29144) 239s; run: log: (pid 29167) 236scentos
[root@200 src]#ntpdate 172.18.0.1
23 Apr 11:41:27 ntpdate[32929]: adjust time server 172.18.0.1 offset -0.188343 sec
[root@200 src]#gitlab-ctl restart
ok: run: alertmanager: (pid 32972) 0s
ok: run: gitaly: (pid 32987) 0s
ok: run: nginx: (pid 33037) 1s服務器
[root@201 ~]#git clone http://172.18.9.150/web35/web1.git
Cloning into 'web1'...
Username for 'http://172.18.9.150': Leslie #這是name
Password for 'http://Leslie@172.18.9.150':
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
[root@201 ~]#ll
total 12
drwxr-xr-x. 3 root root 36 Apr 23 12:23 web1
[root@201 ~]#cd web1/
[root@201 web1]#ll
total 4
-rw-r--r--. 1 root root 23 Apr 23 12:23 index.html
[root@201 web1]#vim index.html
馬哥教育Linux 35 v1dom
[root@201 ~]#git config --global user.name "user1"
[root@201 ~]#git config --global user.email "test.@qq.com"
[root@201 ~]#cd web1/
[root@201 web1]#vim index.html
馬哥教育 Linux 35 v1
馬哥教育 Linux 35 v2
[root@201 web1]#git add ./*
[root@201 web1]#git commit -m "v2"
[master ca130ab] v2
1 file changed, 2 insertions(+), 1 deletion(-)
[root@201 web1]#git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:ssh
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Username for 'http://172.18.9.150': Leslie
Password for 'http://Leslie@172.18.9.150':
Counting objects: 5, done.
Writing objects: 100% (3/3), 258 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://172.18.9.150/web35/web1.git
3af0975..ca130ab master -> master #默認是master
Switched to a new branch 'develop'
[root@201 web1]#git branch
develop
master
{插播:如何尋找develop分支的clone}:
步驟:Groups,web35,web1,點擊「+」,建立新branch,再返回web1點擊「clone」,便可!!
[root@200 src]#git clone -b develop http://172.18.9.150/web35/web1.git
Cloning into 'web1'...
Username for 'http://172.18.9.150': Leslie
Password for 'http://Leslie@172.18.9.150':
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (6/6), done.
馬哥教育Linux 35 v1
馬哥教育Linux 35 v2
馬哥教育Linux 35 v3 #這些內容只有通過測試纔會被髮布到線上
[develop 89e511c] v3
1 file changed, 2 insertions(+)
[root@200 web1]#git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Username for 'http://172.18.9.150': Leslie
Password for 'http://Leslie@172.18.9.150':
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 266 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for develop, visit:
remote: http://172.18.9.150/web35/web1/merge_requests/new?merge_request%5Bsource_branch%5D=develop
remote:
To http://172.18.9.150/web35/web1.git
ca130ab..89e511c develop -> develop
回滾到v1:
git config --globaluser.name 「name「 #設置全局用戶名git config --globaluser.email xxx@xx.com#設置全局郵箱git config --global –list #列出用戶全局設置git add index.html / . #添加指定文件、目錄或當前目錄下全部數據到暫存區git commit -m「11「 #提交文件到工做區gitstatus #查看工做區的狀態git push #提交代碼到服務器git pull #獲取代碼到本地gitlog #查看操做日誌vim . gitignore #定義忽略文件基於倉庫的回滾:git reset --hard HEAD^^ #git 版本回滾, HEAD 爲當前版本,加一個^爲上一個,^^爲上上一個版本gitreflog # #獲取每次提交的 ID,能夠使用--hard 根據提交的 ID 進行版本回退gitreset --hard 5ae4b06 #回退到指定 id 的版本#git branch #查看當前所處的分支#git checkout -b develop #建立並切換到一個新分支#git checkout develop #切換分支