再次体验git回退版本到固定版本(+连接关系修改)
日志参考: https://blog.csdn.net/weixin_39249427/article/details/112538080
1、git回退到某个版本并提交到远程仓库
及时雨:https://blog.csdn.net/feng98ren/article/details/80598382
有些时候我们提交的远程代码(最新的代码)也许还不如上次写的好,于是我们就想回退到以前的版本。那么怎么回退呢
对了,回退之前还是先备份下。
git log //查看提交的历史
git log --pretty=oneline //如果嫌上面的输出信息过多可以使用这条(只输出版本号)
git reset --hard HEAD //回到上个版本,git reset --hard HEAD是上上个版本
好了现在你已经回到上个版本了。你可以看你本地代码,已经是上个版本了
2、提交到远程仓库
接下来如果你直接提交会发现提交不了, 说远端做了更改需要先pull一下, 如果pull那就又回到最新版本了,相当于没回退。
思路:我们可以新建一个分支temp,然后把回退后的代码提交到temp分支上暂存,然后删除master主分支,新建一个master分支,提交现有代码到master上。
/*1.新建分支*/
git checkout -b temp //新建分支并切换到temp分支
git push origin temp:temp //将代码push到temp分支
/*2.删除主分支*/
git push origin --delete master //删除远端主分支
git branch -d master //删除本地主分支
/*3.新建主分支*/
git checkout -b master //新建主分支并切换到主分支
git push origin master //提交主分支
/*4.删除暂存分支*/
git branch -d temp
git push origin --delete temp
注意:在github下,操作(删除或重建分支)需要在github网页上切换当前分支,如你要删除master,就要将分支切换到建的temp分支上。(可以理解为自己不能删除自己)
(项目主页->Settings即可看到) 我没有试过,谨慎。
其他操作:连接关系修改
1、切换本地分支到 changshanongshang_poc
git checkout changshanongshang_poc
2、创建本地分支changshanongshang_poc 并和远端 origin/changshanongshang_poc建立连接
git checkout -b changshanongshang_poc origin/changshanongshang_poc
3、提交本地分支changshanongshang_poc 到远程指定分支 changshanongshang_poc 本:远
git push origin changshanongshang_poc:changshanongshang_poc
4、如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建
指定本地分支changshanongshang_poc 到远程分支 origin/changshanongshang_poc 链接关系
git branch --set-upstream-to=origin/changshanongshang_poc changshanongshang_poc
git branch --set-upstream-to=origin/E00SP changshanongshang_poc
取消对master的跟踪(谨慎用)
git branch --unset-upstream master
5、拉取远程代码(当前分支为changshanongshang_poc)
git pull