嗨,我是git的新手,我不明白git reset和git revert之间的基本区别是什么。git revert会恢复被推送的合并吗?
发布于 2014-11-20 06:15:26
据我所知,他们正在做完全不同的事情。
git revert的目标是恢复以前提交的效果。例如,
A <- B <- C
^ HEAD如果我发现我以前提交的B是错误的,并且我想“撤消”它的更改,git-revert-ing B将导致:
A <- B <- C <- B'
^ HEAD对此,B'正在逆转B中所做的更改。
git reset更直截了当,它只是简单地将头设定为某个提交,
A <- B <- C
^ HEADgit-reset-ting to B会给你
A <- B <- C
^ HEAD发布于 2017-07-13 11:18:49
Git重置->将分支的尖端移动到不同的提交。这可以用于从当前分支删除提交。它通过提交将分支向后移动。Git还原->通过创建新提交来撤消提交。这是一种撤销更改的安全方法,因为它没有机会重写提交历史。
发布于 2021-03-08 04:33:41
git还原:通过创建新提交来撤消提交到本地/原始回购的更改部分。
command: git revert <id>git重置:Git重置将删除/撤消在本地回购中提交的更改。它通过三种方式消除变化,-soft,-mixed,-hard。其中混合值是默认值。
工作Dir (编码) ->分期区域(索引) ->本地回购(git push)
git reset –soft/mixed/hard –HEAD~N -> mixed is default
git reset --soft HEAD~N # will move file/changes from local commit to staging area
git reset --mixed HEAD~N #will move file/changes from local commit to working directory
git reset --hard HEAD~N #will delete file /changes from working directory https://stackoverflow.com/questions/27032850
复制相似问题