git如何回退到原来之前一个版本

今天发现master的代码写的不对,不想重写,想直接回退到之前一个版本,然后再把这个版本设置为master,弄了好久,终于弄好了。

首选:

</pre><p><pre name="code" class="html">#create a branch
git branch ttt

#step into the branch
git checkout ttt

#back to some commit
git reset --hard HEAD^^

#push new branch into remote reposity
git add .
git commit -m "init new branch"
git push origin ttt

#in the ttt branch
git merge -s ours master
git checkout master
git merge ttt
git add .
git commit -m "init new branch"
git push origin master
#done

 


### 关于 Git 操作中涉及“滚动”的概念 在 Git 中,“滚动”这一术语并不常见,但从描述来看,可能是指浏览或翻阅提交历史的过程。对于查看旧版本或者特定时间点的状态,有几种方法可以实现。 #### 使用 `git log` 浏览提交历史 为了查看项目的整个提交历史,可以使用 `git log` 命令。此命令会按照时间顺序展示所有的提交记录,默认是从最近的一次提交开始向过去追溯[^4]。当执行这个命令时,如果输出的内容过多无法一次性全部显示,则会被分页处理,允许用户通过按空格键向下滚动页面继续阅读更多的提交信息;而按下 'q' 键则退出分页模式并返回到终端提示符处等待进一步指令。 ```bash $ git log ``` #### 定位具体提交并通过 `git show` 查看详情 若想针对某一次具体的提交进行深入探究,比如只关心某一时刻做了哪些更改而不必看到完整的日志列表,那么应该采用 `git show` 加上对应的 SHA-1 散列值作为参数的方式来进行查询。这将仅显示出那个确切的变更集及其元数据而不是从那里开始打印出后续的所有条目[^1]。 ```bash $ git show <commit-hash> ``` #### 版本回退与 HEAD 移动 另外,在讨论如何回到过去的某个状态时提到了 “HEAD”,它实际上是一个指向当前分支最新提交(即工作区所基于的那个快照)的指针。要改变 HEAD 所指示的位置从而切换至不同的提交以便检视那时的工作成果,需要用到 `git checkout` 或者更现代一些的 `git switch` 和 `git restore` 来完成这项任务[^2]。 ```bash # 切换到指定提交 $ git checkout <commit-hash> # 创建新分支并切换至此提交 $ git checkout -b new_branch_name <commit-hash> ``` 请注意,一旦离开了最前端的提交,任何新的改动都不会影响主线的历史链路,除非再次合入这些变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值