git回到某次提交并创建远程新分支

需求:我们在开发的时候很可能有这样的需求,很多人协作在开发一个功能,临时确定之前的一个或者几个改动要上线,但是新开发功能的代码不需要上,这是我们可以回到某一次提交,在这个基础上做一些开发,这个分支来针对我们最近的一次发版的需求。
1.首先我们可以在idea的log里面看到所有的提交在这里插入图片描述
比如我要回到这一次提交,copy版本号:
在这里插入图片描述
执行命令:

git checkout 49f21f

假设d3e34d是我刚刚的版本号,这里只需要前六位就行。
在此版本的基础上创建新的本地分支:

git checkout -b 49f21f

此时如果有远程分支49f21f

直接git push origin 49f21f会报错,

error: src refspec metadata-it-49f21f does not match any.

我的方法是先从远程分支追踪一个本地分支

git checkout -b metadata-it-49f21f -t origin/metadata-it-49f21f

再把刚刚的分支merge过来:

$ git merge 49f21f
warning: refname '49f21f' is ambiguous.
warning: refname '49f21f' is ambiguous.
Merge made by the 'recursive' strategy.
 LICENSE                                            |   202 +
 NOTICE                                             |    64 +
 assembly/assembly.xml                              |    59 +
 assembly/pom.xml                                   |    53 +

最后提交远程分支:

$ git push origin metadata-it-49f21f
Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 295 bytes | 59.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1)
remote: Processing changes: refs: 1, done
To rapid:/LEAP/Distros/metadata
   743cee9c6..3885a089a  metadata-it-49f21f -> metadata-it-49f21f

这样就完成了。任何问题请留言谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值