在Git中回滚

在Git中回滚,git,rollback,Git,Rollback,关于在git中执行回滚的问题: 假设我要回滚到的提交的gitsha是:12345 我试过: git checkout 12345 git checkout -b rollback git push origin rollback 然后,当我尝试将“回滚”与master进行比较时,它说没有区别——为什么 更新:我使用Github比较了主分支和回滚分支,没有发现任何差异 我发现以下工作: git checkout -b current-state-master git checkout maste

关于在git中执行回滚的问题:

假设我要回滚到的提交的gitsha是:
12345

我试过:

git checkout 12345
git checkout -b rollback
git push origin rollback
然后,当我尝试将“回滚”与master进行比较时,它说没有区别——为什么

更新:我使用Github比较了主分支和回滚分支,没有发现任何差异

我发现以下工作:

git checkout -b current-state-master
git checkout master
git checkout 12345
git push origin -f

我明白为什么第二种方法有效,但我不知道为什么第一种方法不起作用

根据Tim Biegeleisen的回答,您的第一个片段可以这样更正:

git checkout -b rollback
git reset 12345
git push origin rollback

这将在索引中留下“回滚”提交;使用
reset--hard
来避免这种情况。

根据Tim Biegeleisen的回答,您的第一个代码片段可以如下更正:

git checkout -b rollback
git reset 12345
git push origin rollback

这将在索引中留下“回滚”提交;使用
reset--hard
来避免这种情况。

根据Tim Biegeleisen的回答,您的第一个代码片段可以如下更正:

git checkout -b rollback
git reset 12345
git push origin rollback

这将在索引中留下“回滚”提交;使用
reset--hard
来避免这种情况。

根据Tim Biegeleisen的回答,您的第一个代码片段可以如下更正:

git checkout -b rollback
git reset 12345
git push origin rollback

这将在索引中留下“回滚”提交;使用
reset--hard
来避免这种情况。

最简单的方法是:

git revert 12345


此外,通过git reset在回购中进行操作将导致非转发历史记录,这将给其他人带来痛苦。

最简单的一种情况如何:

git revert 12345


此外,通过git reset在回购中进行操作将导致非转发历史记录,这将给其他人带来痛苦。

最简单的一种情况如何:

git revert 12345


此外,通过git reset在回购中进行操作将导致非转发历史记录,这将给其他人带来痛苦。

最简单的一种情况如何:

git revert 12345

此外,通过git reset在回购中进行操作将导致非转发历史记录,这将给其他人带来痛苦。

这是我的观点:

git checkout 12345        #This checks out the commit with SHA starting with 12345
                          #You're in detached HEAD state and
                          #you're in no way related to any branch
git checkout -b rollback  #This creates a new branch starting from the current HEAD,
                          #which is 12345.
git push origin rollback  #This updates branch rollback on origin with the 
                          #local branch rollback
如果
master
分支的头不同于commit,那么SHA 12345
git diff rollback master
将生成一些输出。我不知道你在做什么,但问题应该在别的地方

更简洁一点:如果
git diff master 12345
产生输出,那么
git diff master回滚也将产生输出<代码>git diff回滚12345将不会

接下来,您的第二个示例将起作用,因为它只缺少一行,这使分离的头部具有名称
rollback

因此,我的答案是: 您的问题不能源于您给出的代码行

请参阅和。

这是我的看法:

git checkout 12345        #This checks out the commit with SHA starting with 12345
                          #You're in detached HEAD state and
                          #you're in no way related to any branch
git checkout -b rollback  #This creates a new branch starting from the current HEAD,
                          #which is 12345.
git push origin rollback  #This updates branch rollback on origin with the 
                          #local branch rollback
如果
master
分支的头不同于commit,那么SHA 12345
git diff rollback master
将生成一些输出。我不知道你在做什么,但问题应该在别的地方

更简洁一点:如果
git diff master 12345
产生输出,那么
git diff master回滚也将产生输出<代码>git diff回滚12345将不会

接下来,您的第二个示例将起作用,因为它只缺少一行,这使分离的头部具有名称
rollback

因此,我的答案是: 您的问题不能源于您给出的代码行

请参阅和。

这是我的看法:

git checkout 12345        #This checks out the commit with SHA starting with 12345
                          #You're in detached HEAD state and
                          #you're in no way related to any branch
git checkout -b rollback  #This creates a new branch starting from the current HEAD,
                          #which is 12345.
git push origin rollback  #This updates branch rollback on origin with the 
                          #local branch rollback
如果
master
分支的头不同于commit,那么SHA 12345
git diff rollback master
将生成一些输出。我不知道你在做什么,但问题应该在别的地方

更简洁一点:如果
git diff master 12345
产生输出,那么
git diff master回滚也将产生输出<代码>git diff回滚12345将不会

接下来,您的第二个示例将起作用,因为它只缺少一行,这使分离的头部具有名称
rollback

因此,我的答案是: 您的问题不能源于您给出的代码行

请参阅和。

这是我的看法:

git checkout 12345        #This checks out the commit with SHA starting with 12345
                          #You're in detached HEAD state and
                          #you're in no way related to any branch
git checkout -b rollback  #This creates a new branch starting from the current HEAD,
                          #which is 12345.
git push origin rollback  #This updates branch rollback on origin with the 
                          #local branch rollback
如果
master
分支的头不同于commit,那么SHA 12345
git diff rollback master
将生成一些输出。我不知道你在做什么,但问题应该在别的地方

更简洁一点:如果
git diff master 12345
产生输出,那么
git diff master回滚也将产生输出<代码>git diff回滚12345将不会

接下来,您的第二个示例将起作用,因为它只缺少一行,这使分离的头部具有名称
rollback

因此,我的答案是: 您的问题不能源于您给出的代码行

见和

警告!:“-hard”参数将忽略所有本地修改

警告!:“-hard”参数将忽略所有本地修改

警告!:“-hard”参数将忽略所有本地修改


警告!:“-hard”参数将忽略所有本地修改

我同意你的看法,Josh Reback的3行Git代码不应该引起问题。但你能提出一个理由吗?你的回答没有回答这个问题。我同意你的观点,Josh Reback的3行Git代码不应该引起问题。但你能提出一个理由吗?你的回答没有回答这个问题。我同意你的观点,Josh Reback的3行Git代码不应该引起问题。但你能提出一个理由吗?你的回答没有回答这个问题。我同意你的观点,Josh Reback的3行Git代码不应该导致p