gpt4 book ai didi

git - 在 Git 中回滚

转载 作者:IT王子 更新时间:2023-10-29 01:08:28 26 4
gpt4 key购买 nike

我已经提交并推送了几个补丁:A1-->A2-->A3-->A4(头部)

每个人都将这些变更集 pull 到他们的本地副本中。

现在我们要“回滚”到 A2,并从那里继续开发 - 基本上丢弃 A3 和 A4。执行此操作的最佳方法是什么?

最佳答案

从你的工作副本的根目录开始

git checkout A2 -- .  
git commit -m 'going back to A2'

使用 git revert为此目的会很麻烦,因为您想摆脱整个系列的提交,并且 revert 一次撤消它们。

你不想git reset任何一个。这只会改变你的 master 分支指针:你不会留下错误方向的记录。协调起来也很痛苦:因为您将 master 更改为的提交不是远程存储库的 master 分支指针的子项,推送将失败 - 除非您添加 -f(强制)或者先删除远程仓库中的master分支,再通过push重新创建。但是每个试图 pull 的人在他们本地的 master 分支中仍然会有旧的历史,所以一旦 origin/master 发生分歧,git pull 将尝试执行 merge 。这不是世界末日:他们可以通过执行 git rebase --onto origin/master $old_origin_master_commit master 摆脱这种情况(即,将他们在旧 origin/master 到新 origin/master 的顶部)。但是 Git 不会自动执行此操作,因此您必须与每个协作者进行协调。简而言之,不要那样做。

关于git - 在 Git 中回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/218023/

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