git回退到某个版本并提交到远程仓库

转载: https://blog.csdn.net/young_emily/article/details/78299398

1. 前言
   有些时候我们提交的远程代码(最新的代码)也许还不如上次写的好,于是我们就想回退到以前的版本。那么怎么回退呢 
   对了,回退之前还是先备份下。。

2. 版本回退

git log //查看提交的历史
git log --pretty=oneline //如果嫌上面的输出信息过多可以使用这条(只输出版本号)
git reset --hard HEAD^ //回到上个版本,git reset --hard HEAD^^是上上个版本

3. 提交到远程仓库
  接下来如果你直接提交会发现提交不了, 说远端做了更改需要先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即可看到) 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要将Git回退到某个特定版本,可以使用以下命令: git reset --hard 目标版本号 其中,目标版本号是你要回退到的版本的唯一标识,可以是提交的SHA值或者分支名。比如,如果你想回退提交号为9feb83df6db8b132004325ab03377b2088cba540的版本,可以使用以下命令: git reset --hard 9feb83df6db8b132004325ab03377b2088cba540 这个命令会将HEAD指向目标版本,同时丢弃掉目标版本之后的所有提交。请注意,这个操作是不可逆的,所以请确保你真的想回退到该版本。 另外,还有一种回退方法是使用git revert命令,它会生成一个新的提交来撤销指定版本的更改,这样可以保留之后的提交。如果你只想撤销某个版本的更改而不丢弃之后的提交,可以使用git revert命令。具体操作步骤如下: 1. 使用git log命令或者git reflog命令查找目标版本提交号。 2. 运行git revert -n 目标版本号命令来撤销目标版本的更改。这个命令会生成一个新的提交,包含了撤销指定提交的更改,但是不会自动提交。 3. 如果在撤销过程中遇到冲突,需要手动解决冲突并使用git add命令将解决后的文件添加到暂存区。 4. 使用git commit -m 版本名命令提交撤销的更改。 5. 最后,使用git push命令将提交推送到远程仓库。 这样,你就成功将Git回退到某个特定版本了。请根据你的需求选择合适的回退方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值