gpt4 book ai didi

git - 'revert'、 'amend,'、 'rollback' 和 'undo' 之间有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 00:52:33 26 4
gpt4 key购买 nike

为了帮助我了解 git 以便我可以日常使用它,以下之间有什么区别:

  • 还原
  • 修改
  • 回滚
  • 撤消

它们是什么,它们做什么?

最佳答案

术语还原修改 在Git 中具有明确定义的含义。相比之下,rollbackundo 没有明确定义的含义,并且可以解释。

恢复提交...

...意味着创建(在当前分支上)一个新提交,该提交应用另一个提交引入的反向更改。这是更正已与他人共享的存储库中问题的首选方法,因为它不涉及任何破坏(即重写历史记录)。

还原由 <commit> 标识的提交, 简单地运行

git revert <commit>

修改提交...

...意味着用具有相同父项的新提交替换“当前”提交;更多详细信息,请参阅 How does git commit --amend work, exactly?

enter image description here

请注意

  • 修改您已经推送到共享远程的提交是不好的做法,因为它是一种历史重写形式(它“删除”最近的提交,您的合作者可能已经将其作为工作的基础);
  • 您只能修改给定分支上的最后一次提交;要重写旧的提交,您需要拿出大手笔(例如交互式 rebase )。

要修改提交,进行所有必需的更改并暂存它们,然后运行

git commit --amend

此处无需指定任何提交,因为当前分支上的最后一次提交将被修改。然后会 pop 您的编辑器,让您有机会修改提交消息。

回滚...

...通常意味着丢弃(或 stash )任何本地更改并将分支重置为提交(或简单地 checkout 提交,但这会使您处于分离的 HEAD 状态),然后再提交开始的事情弄乱。使用

git reset <commit-before-things-started-to-go-belly-up>

撤消提交...

...根据上下文可以表示

  • 恢复一个提交,
  • 修改一个提交,
  • 通过交互式 rebase 删除提交。

关于git - 'revert'、 'amend,'、 'rollback' 和 'undo' 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28166547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com