git --- git撤销commit(未push)

简介: git --- git撤销commit(未push)

场景重现

我们在git仓库写完代码后,一般有如下操作:

git add .

git commit -m “add something”

正常的下一部操作是git push,但是实际项目中会出现两种情况导致无法push

1> 在执行git push之前我们发现刚才添加的内容是错误的

2> push之后,需要别人review,别人review的时候发现你是错误的代码,拒绝merge

这两种情况都要求撤销commit

git commit 撤销操作

撤销commit的操作, git reset --[soft | mixed | hard] HEAD^

下面重点讲一讲,soft mixed hard几个参数的区别

1> --mixed

不删除工作空间改动代码,撤销commit,并且撤销git add .

mixed为默认参数,也即git reset --mixed HEAD^与git reset HEAD^效果一样

2> --soft

不删除工作空间改动代码,撤销commit,不撤销git add .

3> --hard

删除工作空间改动代码,撤销commit,撤销git add .

注意完成这个操作后,就恢复到了上一次的commit状态。

git commit --amend

如果只是commit注释内容写错,就执行git commit --amend去修改commit的内容即可

相关文章
|
12月前
|
API 开发工具 git
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
713 0
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
|
存储 人工智能 缓存
Git Commit规范:为什么有些公司要求变更行数限制?·优雅草卓伊凡
Git Commit规范:为什么有些公司要求变更行数限制?·优雅草卓伊凡
551 3
Git Commit规范:为什么有些公司要求变更行数限制?·优雅草卓伊凡
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
2743 60
|
开发工具 git
使用Git下载指定版本或指定commit
使用Git下载指定版本或指定commit
|
JavaScript 前端开发 持续交付
实际工作中 Git Commit 代码提交规范是什么样的?
实际工作中 Git Commit 代码提交规范是什么样的?
1238 7
|
前端开发 开发工具 git
Git报错处理:解决git commit时的lint-staged错误提示。
极好的,你对Git的lint-staged出了一个令人头疼的问题。让我们一起钻研一下,找到一种方法来解决一切。 首先,我们要确定你是在做什么操作时候遇到了问题。lint-staged通常在我们运行 git commit 时启动,它做的工作是在你提交之前运行一些指定的命令检查你的代码。当lint-staged报错,多半是因为检查未通过,或者它试图运行的命令存在问题。 让我们以一种图解的方式来描绘一下这个过程,就像canvas上的画面那样。git正在温柔的将你的修改捆绑起来,准备提交。突然,lint-staged走了出来,并开始盘问着Git,寻找可能的错误。如果lint-staged找到了什么
1269 24
|
Linux 开发工具 git
解决 Linux git push 成功后(但没有出现绿点)的问题
最近学习使用Git,发现有时候在Linux下提交自己的小绿点并没有增加,单在仓库中却可以看到提交的代码。看着连续的绿点中出现几个零零散散的灰点,着实让一个强迫症患者十分难受。接下来分享以下我所知道的问题。
348 0
|
开发工具 git
git push报错:The current branch master has no upstream branch
git push报错:The current branch master has no upstream branch
41176 0
git push报错:The current branch master has no upstream branch
|
项目管理 开发工具 git
git push 报错 pre-receive hook declined
git push 报错 pre-receive hook declined
5935 0
git push 报错 pre-receive hook declined
|
存储 开发工具 git
使用 git push 上传超过100MB文件报错 remote: error: this exceeds GitHub‘s file size limit of 100.00 MB
Git 大文件存储(LFS)用 Git 中的文本指针替换音频示例、视频、数据集和图形等大文件,同时将文件内容存储在 GitHub.com 或 GitHub Enterprise 等远程服务器上。
1598 0