`
sitoto
  • 浏览: 124106 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

git的revert和reset和 git push

阅读更多

这是个很郁闷的事情,,,很辛苦做了很多,发现其实不改很好,改了反而不好,已经提交了两次了而且都push了。

想要恢复,我先用  

git reset --hard HEAD~2,,,

然后git push, 说不行啊。

 

你这个没有什么什么。。。其实很明显,版本不匹配的提交。。。。肯定不行的。。

 

于是就用  

 

git revert .......(前一个版本的 sha)

git  revert  .......(前二个版本的 sha)

 

 分别 还原 两次更改,提交了两次新的版本,,然后  

 

git push  

貌似成功。。。写贴纪念。。。。

 

边学边做的人伤不起啊。。。

0
0
分享到:
评论
1 楼 sitoto 2012-10-11  
git revert 和reset的区别

这里讲一下git revert和git reset的区别:

git revert 是撤销某次操作,此次操作之前的commit都会被保留

git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区

具体一个例子,假设有三个commit, git st:

commit3: add test3.c

commit2: add test2.c

commit1: add test1.c

当执行git revert HEAD~1时, commit2被撤销了

git log可以看到:

commit1:add test1.c

commit3:add test3.c

git st 没有任何变化

如果换做执行git reset --soft(默认) HEAD~1后,运行git log

commit2: add test2.c

commit1: add test1.c

运行git st, 则test3.c处于暂存区,准备提交。

如果换做执行git reset --hard HEAD~1后,

显示:HEAD is now at commit2,运行git log

commit2: add test2.c

commit1: add test1.c

运行git st, 没有任何变化

相关推荐

    前端大厂最新面试题-git reset_ git revert.docx

    撤销(revert)被设计为撤销公开的提交(比如已经 push)的安全方式,git reset 被设计为重设本地更改。因为两个命令的目的不同,它们的实现也不一样:重设完全地移除了一堆更改,而撤销保留了原来的更改,用一个新...

    完全学会GIT+GITHUB+GIT+SERVER的24堂课

    Git的`git revert`和`git reset`命令可撤销更改,但前者创建新的提交,后者直接修改历史。遇到冲突时,开发者需要手动编辑冲突文件,然后使用`git add`和`git commit`完成解决。 **8. Git钩子** Git钩子是一系列...

    Git恢复之前版本的两种方法reset、revert(图文详解)

    在开发过程中,由于误操作或者需要撤销某些提交,Git 提供了两种恢复之前版本的方法:`git reset` 和 `git revert`。这两种方法各有其适用场景,理解它们的区别和使用方法对于有效地管理代码历史至关重要。 1. **...

    git安装包git-2.34.0-64-bit.rar

    9. **版本回溯**:Git的版本历史查询功能强大,`git log`显示提交历史,`git revert`或`git reset`可以回滚到特定版本。 10. **标签管理**:`git tag`命令用于创建和管理标签,常用于标记重要的里程碑或版本。 ...

    git 视频教程

    git视频教程.3.5.Git 命令 - git reset.mp4 git视频教程.4.1.Git 命令 - git branch.mp4 git视频教程.4.2.Git 命令 - git branch.mp4 git视频教程.4.3.Git 命令 - git branch.mp4 git视频教程.4.4.Git 命令 - git ...

    Git-1.9.0 git

    例如,了解如何创建和切换分支(`git checkout -b`),如何解决合并冲突(`git diff`、`git merge --abort`或`git mergetool`),以及如何回退到之前的版本(`git reset`或`git revert`)。此外,学习使用GitHub或...

    git 2.20 x64

    4. **撤销操作**:通过`git reset`和`git revert`,可以撤销错误的提交,保护代码的完整性。 5. **合并冲突解决**:当多个开发者修改同一部分代码时,Git会提示合并冲突,用户可以手动解决这些冲突后再提交。 Git ...

    git 教材 progit

    6. **撤销操作**:Git提供了一些强大的撤销操作,如`git reset`和`git revert`,可以在不影响历史记录的情况下回退到之前的版本。 7. **标签管理**:`git tag`命令用于标记特定的提交,通常用于发布版本或者重要...

    Pro Git 第二版 v2.1.17 中文版 非扫描 EPUB 和 PDF

    5. 撤销与重做:Git提供了一系列工具,如`git reset`、`git revert`和`git checkout`,用于撤销错误操作或恢复到之前的版本状态。这些内容在书中都有详细的介绍和实例。 6. 版本回溯与解决冲突:通过`git log`、`...

    Git版本控制管理 第2版.pdf.zip

    6. **回溯与撤销**:`git reset`、`git revert`和`git checkout`命令的用法,如何恢复错误的提交或者回到历史状态。 7. **标签管理**:使用`git tag`为特定版本打标签,方便回溯和发布。 8. **Git的高级功能**:子...

    Git工具安装包,Git工具安装包

    6. 撤销操作:如果误操作,Git提供了强大的撤销功能,如`git reset`和`git revert`,可以在不影响历史记录的情况下恢复到之前的状态。 7. 快照式模型:Git以文件快照的形式存储项目状态,每次提交都是对整个项目...

    Git安装文件.zip

    对于版本回溯,`git log` 显示提交历史,`git reset` 和 `git revert` 分别用于撤销提交和创建新提交以恢复之前的状态。而`git reflog` 可以帮助找回丢失的分支或提交。 总之,Git 2.32.0.2的64位版本提供了稳定且...

    Git-2.45.2-64-bit.rar

    - 重置与回退:`git reset`和`git revert`用于撤销错误的提交或恢复到特定状态。 在安装"Git-2.45.2-64-bit.exe"后,用户将获得Git的图形化界面和命令行工具,包括Git Bash,它提供了一个类Unix环境来执行Git命令。...

    git for windows32 or windows64

    除了基本的命令,Git还提供了丰富的高级功能,如分支管理(`git branch`和`git merge`)、撤销更改(`git reset`和`git revert`)、标签(`git tag`)等。学习和熟练掌握这些功能,将有助于提高团队协作效率,确保...

    Git教程-廖雪峰-打印版.pdf

    7. 撤销操作:学习如何撤销未提交的更改(`git checkout`)、已提交但未推送的更改(`git reset --soft`),以及已推送的更改(`git revert`或`git push --force-with-lease`)。 8. 工作流:了解一些常见的Git工作...

    pro_git_中文版本(Git使用教程)

    6. **撤销操作**:Git允许你在历史记录中移动,撤销错误的操作,如`git reset`和`git revert`。 7. **合并与衍合**:`git rebase`是另一种合并策略,它将你的分支修改应用到最新的上游分支上,保持提交历史的线性。...

    git常见操作指令速记卡《git-cheatsheet》

    `git revert <commit>`用于撤销某个特定的提交,并创建一个新的提交来表示这一更改。 在查看提交历史方面,`git log`显示所有提交,从最新到最旧。`git log -p <file>`展示了特定文件的提交历史。`git blame <file>...

    Git-2.30.2.2-64.rar

    6. 撤销操作:通过`git reset`和`git revert`命令,可以撤销错误的提交或恢复到某个特定版本。 7. 搜索历史:`git blame`可以查看每个文件每一行的修改者和时间,而`git log`则显示提交历史。 Git-2.30.2.2是一个...

    Git 管理工具和操作文档(msysgit for windows)

    9. **撤销操作**:`git reset`和`git revert`可用于撤销提交或回退到某个状态。 10. **Stash**:`git stash`用于临时保存未提交的更改,以便切换到其他分支或恢复工作环境。 通过学习这个文档,你可以掌握Git的基本...

Global site tag (gtag.js) - Google Analytics