为了帮助我掌握 Git 的知识,以便我能够日常使用,以下是以下术语的区别:
- revert(撤销)
- amend(修改)
- rollback(回滚)
- undo(撤销)
这些术语分别表示什么,它们的作用是什么?
为了帮助我掌握 Git 的知识,以便我能够日常使用,以下是以下术语的区别:
这些术语分别表示什么,它们的作用是什么?
git revert <commit>
git commit --amend
这里不需要指定任何提交,因为当前分支上的最后一次提交将被修改。然后,您的编辑器将弹出,让您有机会修改提交消息。
通常意味着放弃(或存储)任何本地更改,并将分支重置到在问题开始出现之前的提交(或仅仅是检出一个提交,但这会使您处于分离头状态)。使用
git reset <commit-before-things-started-to-go-belly-up>
撤销更改: git checkout
,git revert
,git reset
,git clean
git revert
:此命令撤销提交的更改,它在日志中保留跟踪记录。
git reset
:此命令撤销提交的更改,它不在日志中保留跟踪记录,即将恢复到撤销的提交。 注意:这是一项破坏性操作。使用此命令时必须小心。
git reset --soft HEAD^
撤销最后一次提交,将更改放入暂存区
git reset --hard HEAD^
撤销最后一次提交和所有更改
git reset --hard HEAD^^
撤销最后 2 次提交和所有更改
git commit --amend
其中 amend 表示添加到上一个提交。有时我们忘记将文件添加到提交中。例如,abc.txt 文件被遗忘了,我们可以按以下方式添加:git add abc.txt
和 git commit --amend -m "New commit message"
注意:我们没有使用“回滚”和“撤消”这些确切的名称,无论是动词还是选项。
git --amend 仅在提交尚未推送到另一个Git存储库的公共分支时使用git --amend命令。 git --amend命令创建一个新的提交ID,人们可能已经基于现有提交工作。在这种情况下,他们需要根据新的提交迁移他们的工作。
git revert 您可以通过git revert命令还原提交。此命令还原提交的更改。 这样的提交对于记录撤回更改非常有用。
这里是一个[链接说明][1]
[1]: 如何将Git存储库回滚(重置)到特定提交?关于回滚技术的问题