Git–gitLab远程仓库分支代码回退的两种方案
- 2020 年 6 月 19 日
- 笔记
事由:作为仓库的master,一时老眼昏花,把同事说的不合并看成了合并,直接合并了。
解决方法:
一、粗鲁的代码回退–直接在远程仓库合并
1. 在gitLab远程仓库中,基于想回退的代码的节点(commit),直接拉出一个分支(例:masterDuplicate);
2. 将原来的老分支(例如develop)直接删除掉;
3. 重复第一步,create from分支选择第一步拉出来的分支,拉出来的分支名为原来的develop分支。
二、优雅的代码回退– 本地使用git命令进行回退
1. 本地分支保持最新代码;
2. 使用git log查看提交日志,找到想回退的节点,例如:f11ac640b63e3b254532c4d398ec3fa1121f7f87
3. 使用git reset –hard f11ac640b63e3b254532c4d398ec3fa1121f7f87回退到想要回退的节点。
3.使用git status命令可以查看修改状态,因为你是在回退,git status会提示你更新代码;
4. 这个时候,直接去远程仓库删除原有分支;
5. 使用git push命令重新推一下分支。
综上:
这里只列了两种方案,其实应该还可以用sourceTree回退,因为今天着急解决问题,所以没有一一尝试,mark一下,以后有时间折腾一下。
(个人喜欢第一种方法,不用敲命令,可能我不是一个合格的程序员吧hhhhh周末愉快)