美文网首页
git rebase合并了编译不过的服务器代码如何处理?

git rebase合并了编译不过的服务器代码如何处理?

作者: 风轻云淡宇 | 来源:发表于2018-01-17 20:17 被阅读0次
场景

本地有commit过(版本标识为c1),代码可以编译过,然后合并服务器代码,先

git fetch

命令从服务器拉取代码,调用:

git rebase

将服务器分支合并到本地master分支。

现在有个问题是,有坑神上传了编译不过的代码,而且他暂时而无法搞定,没办法,我只能通过;

git reset --hard 版本哈希

将代码还原到坑神上传的有错的版本(标记为R1)的前一个版本(标记为v1),此时是编译过的,但我提交的代码不见了,现在得想办法将我提交的代码合并到v1,经询问度娘有如下方案(参考Git合并特定commits 到另一个分支),调用:

git cherry-pick c1的哈希

即可实现将c1合并到v1。

总结和思考

1.本地应该有一个服务器的临时分支(或者缓存),其保持的是你最后一次pull或者fetch的服务器版本状态,所以你执行git rebase后,会将这个临时分支合并到本地的master分支;
2.如果使用git reset --hard 回退版本,则回退版本的前面的版本应该也会保存一个临时分支,所以你在调用git reset --hard 恢复到回退前的版本。

相关文章

网友评论

      本文标题:git rebase合并了编译不过的服务器代码如何处理?

      本文链接:https://www.haomeiwen.com/subject/izouoxtx.html