hello jordan!
hello jordan!
#### 5)查看每次提交的目标代码id号,
root@ubuntu1804:/data/src/web-page# git reflog
9cb6bf6 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
952e66b (origin/master, origin/HEAD) HEAD@{1}: reset: moving to HEAD
952e66b (origin/master, origin/HEAD) HEAD@{2}: commit: v7
9cb6bf6 (HEAD -> master) HEAD@{3}: commit: v6
03e27be (tag: v1.4) HEAD@{4}: commit: v7
1202723 HEAD@{5}: commit: v6
ecc001d HEAD@{6}: clone: from http://192.168.1.30/root/web-page.git
#### 6)也可指定目标代码id号,实现回滚
root@ubuntu1804:/data/src/web-page# git reset --hard 9cb6bf6
#### 7)查看当前所属的分支,默认为master主分支
root@ubuntu1804:/data/src/web-page# git branch
* master
#### 8)创建并切换到新分支
root@ubuntu1804:/data/src/web-page# git checkout -b operations
Switched to a new branch 'operations'
#### 9)再次列出所有分支分支
root@ubuntu1804:/data/src/web-page# git branch
master
* operations
#### 10)切换回到主分支
root@ubuntu1804:/data/src/web-page# git checkout master
Switched to branch 'master'
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
root@ubuntu1804:/data/src/web-page# git branch
* master
operations
## 6.数据备份
#### 1)备份前先要暂停gitlab的两个数据服务,避免在备份时开发人员继续提交代码至gitlab中,导致数据不完整
root@ubuntu1804:~# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
root@ubuntu1804:~# gitlab-ctl stop nunicorn
#### 2)手动创建备份
root@ubuntu1804:~# gitlab-rake gitlab:backup:create
![](https://s1.51cto.com/images/blog/201907/25/200d0704939f3f4481e6a5733df9b959.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
#### 3)gitlab默认备份数据名称及路径,为压缩文件
root@ubuntu1804:~# ll /var/opt/gitlab/backups/1563709800_2019_07_21_11.11.5_gitlab_backup.tar
-rw------- 1 git git 92160 Jul 21 19:50 /var/opt/gitlab/backups/1563709800_2019_07_21_11.11.5_gitlab_backup.tar
#### 4)在gitlab的web端目前存在的项目、用户和组
![](https://s1.51cto.com/images/blog/201907/25/a0e5a134011b228787c463c298bb2c61.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
#### 5)先删除掉几个项目、用户或组
![](https://s1.51cto.com/images/blog/201907/25/3f740f94f491f16f47582709242e4555.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
## 7.客户端数据恢复
#### 1)在恢复数据之前也要先关闭gitlab的两个数据服务
root@ubuntu1804:~# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
root@ubuntu1804:~# gitlab-ctl stop unicorn
ok: down: unicorn: 0s, normally up
#### 2)执行恢复备份数据命令
root@ubuntu1804:~# gitlab-rake gitlab:backup:restore /var/opt/gitlab/backups/1563709800_2019_07_21_11.11.5_gitlab_backup.tar
#### 3)在开启gitlab的两个数据服务
oot@ubuntu1804:~# gitlab-ctl start sidekiq
ok: run: sidekiq: (pid 80094) 1s
root@ubuntu1804:~# gitlab-ctl start unicorn
ok: run: unicorn: (pid 80191) 0s
#### 4)gitlab的web端访问测试,可以看到删除的项目、用户、组全部恢复
![](https://s1.51cto.com/images/blog/201907/25/9e0c01ec6df9b5824ade1680c43b8352.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![](https://s1.51cto.com/images/blog/201907/25/b63777d000056e9aace86c21aadb0844.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)