首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git重置和git还原有什么区别?

git重置和git还原有什么区别?
EN

Stack Overflow用户
提问于 2014-11-20 06:05:01
回答 3查看 11.4K关注 0票数 16

嗨,我是git的新手,我不明白git resetgit revert之间的基本区别是什么。git revert会恢复被推送的合并吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-20 06:15:26

据我所知,他们正在做完全不同的事情。

git revert的目标是恢复以前提交的效果。例如,

代码语言:javascript
复制
A <- B <- C 
          ^ HEAD

如果我发现我以前提交的B是错误的,并且我想“撤消”它的更改,git-revert-ing B将导致:

代码语言:javascript
复制
A <- B <- C <- B'
               ^ HEAD

对此,B'正在逆转B中所做的更改。

git reset更直截了当,它只是简单地将头设定为某个提交,

代码语言:javascript
复制
A <- B <- C 
          ^ HEAD

git-reset-ting to B会给你

代码语言:javascript
复制
A <- B <- C 
     ^ HEAD
票数 37
EN

Stack Overflow用户

发布于 2017-07-13 11:18:49

Git重置->将分支的尖端移动到不同的提交。这可以用于从当前分支删除提交。它通过提交将分支向后移动。Git还原->通过创建新提交来撤消提交。这是一种撤销更改的安全方法,因为它没有机会重写提交历史。

票数 3
EN

Stack Overflow用户

发布于 2021-03-08 04:33:41

git还原:通过创建新提交来撤消提交到本地/原始回购的更改部分。

代码语言:javascript
复制
command: git revert <id>

git重置:Git重置将删除/撤消在本地回购中提交的更改。它通过三种方式消除变化,-soft,-mixed,-hard。其中混合值是默认值。

工作Dir (编码) ->分期区域(索引) ->本地回购(git push)

代码语言:javascript
复制
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 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27032850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档