广州企业网站排名,网上怎么做推广,最好的app开发公司,编辑网站的软件手机一、恢复误删的本地分支 作为一枚强迫症#xff0c;没用的分支总是喜欢及时删删删删掉删掉统统删掉#xff0c;结果今天发现有些分支还是应该保留。 比如#xff0c;①前段时间切了个分支用来专门做图表#xff0c;但因为需求还没有最终确定#xff0c;已经上线了测试服而…一、恢复误删的本地分支 作为一枚强迫症没用的分支总是喜欢及时删删删删掉删掉统统删掉结果今天发现有些分支还是应该保留。 比如①前段时间切了个分支用来专门做图表但因为需求还没有最终确定已经上线了测试服而没有上正式服。②现在需要对那部分图表进行改动就发现本地除了测试分支外其它分支都没有图表相关代码了。③如果从测试分支切一个出来修改又会有新的问题等到上线的时候我这个分支需要合并到prod中那就相当于将test分支的一些代码也给合并到prod了那可真的是太太太太危险了 所以只能是把之前的分支找回来我在网上找了一些方法发现都不够方便最终用以下方法很顺利地就恢复了。
第一步首先我只是删除了本地分支并且我已经不记得确切的名字了远程分支并没有删除所以直接先查一下远程分支寻找一下是哪个名字如果还记得误删的分支叫啥名字就不用查了。
git branch -a //查看本地和远程所有分支
//或者
git branch -r //只查看远程分支 第二步直接checkout切换去目标分支。切换后可以发现在该分支可以看到以前的所有提交记录太感动了
git checkout branch name 第三步git pull拉一下代码完事。估计不拉也没事儿因为和远程本来就是同步的。
git pull
二、将某个提交从一个分支复制到另一个分支 我应当是把代码提交到B分支的但是由于各种原因不小心提交到了A分支现在需要把提交在A分支的commit给复制到B分支可以这么操作
第一步先切换到 A 分支。
git checkout 第二步查询错误commit的ID并复制出来。
git log 第三步切换到B分支正确的目标分支。 git checkout B 第四步将该commit给pick到B分支。(比如ID是99f8684713f7f7beacbe4968ff4232c41f9d572f)。 git cherry-pick 99f8684713f7f7beacbe4968ff4232c41f9d572f
注意这里的ID就是要pick的那个commit自己的ID。 此时可以再git log查看一下可以发现B分支上已经有这个commit了但是commit ID已经变了所以这是复制而不是转移A分支上的这个错误的commit依然存在。于是我们需要去A分支把它删掉。
①先切换到 A 分支。
git checkout ②查询错误commit的 ID并复制出来。
git log
③把这个错误的commit删除掉(比如ID是1f5fea8fe88974f0bc9d106ad3f88fc4a9b4c222)。
//如果这个commit是最新的提交可以reset让这个commit毫无痕迹地消失一去不复返
git reset --hard 1f5fea8fe88974f0bc9d106ad3f88fc4a9b4c222(目标版本号)
git push -f //如果这个错误commit后面还有其他commit一定要用revert去回退啊~~但是它会增加一条记录
git revert 1f5fea8fe88974f0bc9d106ad3f88fc4a9b4c222(目标版本号)
git push
注意这里的ID指的是目标版本的ID(要回到的位置)一般是错误commit的前一个commit的ID。