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

2.6 KiB
Raw Permalink Blame History

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