Files
documents/Modified_git_default_branch.md
2020-02-18 14:11:04 +08:00

65 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Reset git服务器的操作记录
## 操作背景
由于对master主分支执行git merge命令merge的分支中有问题需要将maser主分支git reset到merge之前的状态。故进行操作修改并记录。
## 操作方法
操作前需在本地保有applications库4.2/daily-build分支
第一浏览器登录gitlab.rd.in.linx服务器进行操作
1.创建新分支备份。在applications库下选择commits中的Branches点击“NEW BRANCH”创建新分支4.2/daily-build的备份分支分支名daily-build-backup。注意custom_hooks中的pre-receive需要先移走否则无法创建新分支。
2.修改默认保护设置。点击Settings设置->“Protected Branches”将daily-build-backup添加到保护列表取消4.2/daily-build的保护。
3.切换默认主分支。点击Settings设置->“Project Settings",修改Default Branch将4.2/daily-build改为daily-build-backup
第二本地操作4.2/daily-build分支:
1.更新本地applications库的4.2/daily-build分支。执行git pull获取4.2/daily-build的最新状态。
2.将远程服务器的4.2/daily-build分支删除。执行git push origin 4.2/daily-build
3.将本地4.2/daily-build分支回复到merge之前的状态。使用git log查看然后获取到需reset到的commit号执行git reset ”commit号“。
4.将4.2/daily-build提交到远程服务器。执行git push origin 4.2/daily-build:4.2/daily-build
最后,修改服务上的分支保护及默认主分支:
1.修改默认保护设置。点击Settings设置->“Protected Branches”将4.2/daily-build添加到保护列表。
2.切换默认主分支。点击Settings设置->“Project Settings",修改Default Branch将daily-build-backup改回4.2/daily-build。
## 用户使用注意
经过以上修改后其他用户在本地使用时git push可能会出现问题。
若有问题可进行如下操作重新创建本地4.2/daily-build分支。操作示例如下
```
rocky@linx:~/applications$ git branch
4.2/2494
4.2/2499
4.2/2512
4.2/2517
4.2/2535
4.2/2561
* 4.2/daily-build
rocky@linx:~/applications$ git checkout -b 4.2/daily-build-new remotes/origin/4.2/daily-build
分支 4.2/daliy-build-new 设置为跟踪来自 origin 的远程分支 4.2/daily-build。
切换到一个新分支 '4.2/daliy-build-new'
rocky@linx:~/applications$ git branch
4.2/2494
4.2/2499
4.2/2512
4.2/2517
4.2/2535
4.2/2561
4.2/daily-build
* 4.2/daily-build-new
rocky@linx:~/applications$ git branch -D 4.2/daily-build
已删除分支 4.2/daily-build曾为 597f901
rocky@linx:~/applications$ git checkout -b 4.2/daily-build remotes/origin/4.2/daily-build
```