一、问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。 二、背景知识git的版本管理,及HEAD的理解 使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个...
在团队开发中,使用Git作为版本开发工具,可以便捷地协同多人管理并行开发,但是由于自己或者其他人代码提交污染了远程分支,就需要对远程代码进行恢复操作,Git 提供了 reset 和 revert 两种命令来进行恢复操作,这两种操作效果是截然不同的,不太清楚这个原理的同学需要了解一下,以免在实际的开发过程中翻车,导致线上远程仓库...
在Git中,reset和revert都是用于撤销更改的命令,但它们的工作方式和应用场景不同。理解它们的区别对于正确地管理代码历史至关重要。 git reset 功能:将当前分支的HEAD指针移动到指定的提交,并根据参数的不同,可以选择性地修改暂存区和工作目录。它本质上是改变当前分支的历史记录,让其指向一个新的提交。被回退的提交...
因为revert 会生成一条新的提交记录,这时会让你编辑提交信息,编辑完后:wq保存退出就好了。 保存之后,我们再来看当前提交的记录 通过提交历史日志我们可以发现 虽然是撤回提交3,但之前4和5的提交记录都还在,这点和reset 不一样。 说明git revert 可以保留完整的 git 历史,对多人合作的分支来说比较友好。 同时我们...
遇到这种情况,我们今天的主角git reset和git revert就可以派上用场了。 git reset详解 git reset命令的作用是将指定提交之后的内容从当前分支中移除,并将HEAD指针移动到指定提交,同时将当前分支指针移动到指定提交,并将之后的提交从历史中移除。 使用示例
在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。 二、背景知识 git的版本管理,及HEAD的理解 使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线...
git reset--hard<commit_id>git push originHEAD--force # 强制提交一次,之前错误的提交就从远程仓库删除 2)通过git revert 用一次新的commit来回滚之前的commit 代码语言:javascript 复制 git log # 得到你需要回退一次提交的commit id git revert<commit_id># 撤销指定的版本,撤销也会作为一次提交进行保存 ...
在团队开发中,使用 Git 作为版本开发工具,可以便捷地协同多人管理并行开发,但是由于自己或者其他人代码提交污染了远程分支,就需要对远程代码进行恢复操作,Git 提供了 reset 和 revert 两种命令来进行恢复操作,这两种操作效果是截然不同的,不太清楚这个原理的同学需要了解一下,以免在实际的开发过程中翻车,导致线上远程...
git reset --soft:撤销上一次commit,回到git add.的状态 git reset --mixed:撤销上一次commit和add,回到本地编辑的状态 git reset --hard:撤销上一次对文件的所有修改 开发中git reset --soft 使用比较多一些。 2. Git Revert Commit 原理: git revert是用于“反做(undo)”某一个提交,以达到撤销该提交的修...
1.git reset 操作,会通过修改head 指针指向要回滚到的commitId,通过在工作区修正错误版本的文件,然后commit,或者如果不想要错误版本的文件,可以移除掉,再commit,相对来说,需要用户来关注并处理错误的版本文件,并且没有git 版本追踪的链路; 2. git revert 操作,通过生成新的commitId(它会全部撤销 错误版本的提交 且...