git 回退本地代码和远程代码到某一个版本

查看已提交的版本

git log --pretty=oneline

回退本地代码版本(三种方式)
一、

git reset 版本id
等同于
git reset --mixed '版本id'

回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也
不受影响)
二、

git reset --soft '版本id'

回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)
三(常用)、

git reset --hard '版本id'

回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换

回滚远程分支

由于本地分支回滚后,版本将落后远程分支,此时如果用(git push)会报错,必须使用强制推送(git push -f)覆盖远程分支,否则后面将无法推送到远程分支。

git push -f origin '分支名字'

git reset 会把回退到的某一版本之前的提交全部撤销,比如三个版本依次提交A1-A2-A3 ,如果用 git reset 回退到A1,那么A2 A3都没了,假如我们只想要把A2撤销,并保留着A3,那么就需要使用 git revert

git revert -n '版本id' //反做

然后依次 git add , git commit -m ‘信息’ , git push 提交即可

### Git回退到上一个版本的操作方法 当需要将Git代码回退至上一个版本时,可以采用两种主要方式实现:`git reset` `git revert`。以下是具体说明: #### 方法一:使用 `git reset` 此方法适用于希望完全丢弃当前分支上的某些提交,并回到特定的历史状态的情况。 1. **查看历史记录** 需要先通过以下命令查看提交日志,确认目标版本的哈希值(commit hash)。 ```bash git log --oneline ``` 2. **执行硬重置** 执行以下命令将工作目录的状态回退至指定的前一个版本。假设目标是最近的一次提交,则可以直接使用 `HEAD~1` 表示上一次提交。 ```bash git reset --hard HEAD~1 ``` 此外,也可以直接提供具体的 commit hash 来精确控制回退位置[^2]。 3. **强制推送更改** 如果已经将改动推送到远程仓库,可能还需要强制更新远程分支以同步本地变更。 ```bash git push origin branch_name --force ``` #### 方法二:使用 `git revert` 相比 `reset` 的破坏性操作,`revert` 更加安全,因为它不会删除任何现有提交,而是创建一条新提交来逆向应用选定提交中的更改。 1. **撤销最新提交** 若要仅撤销最新的那次提交,可运行如下命令: ```bash git revert HEAD ``` 它会在不改变后续提交的前提下生成一个新的提交,用于抵消最后一次提交的内容[^1]。 2. **解决潜在冲突** 在某些情况下,执行 revert 可能引发文件间的合并冲突。遇到这种情况时需手动编辑受影响区域并标记解决方案完成后再继续处理过程: ```bash git add conflicted_file_path git revert --continue ``` 3. **推送结果给远端服务器** 最终记得把所做的调整上传至云端存储库以便团队成员共享这些变化。 ```bash git push origin branch_name ``` 综上所述,在决定采取哪种策略之前应仔细权衡两者利弊以及项目实际需求情况再做定夺。 ```python def example_function(): """A simple function to demonstrate code inclusion.""" pass ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值