git各阶段版本回退命令

简介: git各阶段版本回退命令

1、git各阶段版本回退命令

123这3个阶段如何进行回退?

workspace:工作区

index:暂存区

Repository:本地仓库

Remote:远程仓库


1.1、工作区的代码改动不想要了(git add之前)

1.2、git add以后放入暂存区的代码修改不想要了

1.3、git commit提交到本地仓库的代码不想要了

看上面的git log,每一次commit提交日志都生成一个commit id,如果修改刚提交的修改想回退,那么通过上面的commit id就可以(commit id不需要写全,前几位能区分不同的commit id就可以),命令如下:

实际上,上面的git reset --hard commit_id是把本地仓库分支版本上的HEAD指针进行了移动,实际上没有删除任何内容;

如果上面的代码回退你后悔了,可以用git reset --hard继续返回到之前的版本上,

但是之前版本的commit id在哪里看呢?可以用git reflog命令,如下:

看到了吧,我又回来啦!

1.4、远程仓库的代码修改不想要了

有两种方法:

  • a、git pull,在本地分支最新的代码版本上删除之前修改的,然后重新push到远程代码仓库上
  • b、在本地分支上通过git reset --hard xxx回退到之前的版本,然后通过git push -f推送覆盖远程代码仓库

git checkout – 在git add之前,把工作区的代码用版本库中的代码覆盖掉,注意命令中的–不能

去掉,否则成切换分支的命令了

git reset HEAD 把git add之后,暂存区的内容全部撤销

git reset --hard commitid 把提交到本地仓库中的代码改动进行回退

git reflog 查看HEAD指针的改动日志

git push -f 强制推送本地仓库代码到远程仓库

git diff HEAD – 查看工作区file文件和仓库中该文件最新版本的代码有什么区别


2、测试

情况1:工作区修改的代码不要了

修改代码:

实际上这里 <= 是错的!

此时如果不想这样写,怎么退回?

git checkout -- main.cpp
1

已经退回了!


情况2:将工作区修改的代码添加到暂存区,发现有错,退回!

再在代码中随便加入一行代码!

将工作区修改的代码添加到暂存区:

将暂存区的内容全部舍弃:

git就退回为工作区的改动:

后面的操作就和 情况1相同了!


情况3:将错误代码添加到本地仓库了,还未提交到远程仓库!

可以看到本地仓库有1个新的提交:

可以看到远程仓库和本地仓库已经不在一个点上了,也可以看到本地仓库最新修改没有提交到远程仓库中!

每一次修改都会对应一个commit ID。

此时要要进行回退,回退到哪个版本,就用哪个版本的commit的ID号!

git reset --hard 56f46397d5f26607288b39aa03f2c167817790f4
1

打开源文件,可以看到已经回退了!

当然,我们操作的记录都会记下来的!

我们再根据commit ID回到未回退之前:

可以看到我们又回来了!


情况4: 将错误代码直接提交到远程了!

怎么回退?

方法1: 重新修改代码,再提交到远程仓库!

方法2:

提示本地分支落后于远程分支:

直接推送是不可以的(只有本地仓库比远程仓库新,才可以直接推送;否则不可以)

因为如果成功了,你可能将别人的代码弄掉!

但是这里,你知道只有你一个人操作了,因此可以强制操作!

这样就可以了,已经回退了!

相关文章
|
3月前
|
开发工具 git
使用Git根据日期进行代码版本切换的方法
通过以上步骤,可以有效地根据日期进行Git代码版本的切换。这种方法在需要回溯历史版本进行bug修复或功能复查时特别有用。Git的灵活性和强大功能使其成为现代软件开发不可或缺的工具之一。
343 103
|
4月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
784 15
|
7月前
|
安全 开发工具 git
git的常用操作命令
git的常用操作命令
502 57
|
6月前
|
开发工具 git
使用Git下载指定版本或指定commit
使用Git下载指定版本或指定commit
|
5月前
|
存储 缓存 开发工具
Git stash命令的详细使用说明及案例分析。
通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。
1899 0
|
8月前
|
存储 项目管理 开发工具
Git常用命令及操作技巧
以上是Git的常用命令及操作技巧,尽管看起来有些繁琐,但实际上只要花费一些时间进行实践,您将很快熟练掌握。随着使用熟练度的提高,您会发现Git对项目管理和协同工作的强大帮助。
210 20
|
10月前
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
1774 60
|
9月前
|
Linux 开发工具 git
版本控制工具:Git的安装和基本命令使用指南。
结束这段探险,掌握了Git你就等于掌握了一个宝藏,随时可以瞥见你的编程历程,轻松面对日后的挑战。Git,无疑是编程者的强大武器,开始你的Git探险之旅吧!
362 28
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
12月前
|
网络安全 开发工具 git
mac git clone命令提示git@gitee.com: Permission denied (publickey).问题修复
mac git clone命令拉取gitee上项目代码时提示密钥问题
975 19