Git 到达某个提交并放弃在此之前完成的所有提交
我已将主分支合并到功能分支中。然而,commit进展并不顺利。它把原本应该来自大师的改变搞砸了。功能分支提前45次提交,这是其中最新的4次提前提交:Git 到达某个提交并放弃在此之前完成的所有提交,git,github,Git,Github,我已将主分支合并到功能分支中。然而,commit进展并不顺利。它把原本应该来自大师的改变搞砸了。功能分支提前45次提交,这是其中最新的4次提前提交: 现在我需要达到承诺。并放弃在此特定提交之后执行的所有提交。为了安全起见,您可以先签出到较新的分支 git checkout -b bug_fix 您可以获取要切换到并使用的提交id: git revert <commit_id> git还原 为了安全起见,您可以先到较新的分行结账 git checkout -b bug_fix
现在我需要达到承诺。并放弃在此特定提交之后执行的所有提交。为了安全起见,您可以先签出到较新的分支
git checkout -b bug_fix
您可以获取要切换到并使用的提交id:
git revert <commit_id>
git还原
为了安全起见,您可以先到较新的分行结账
git checkout -b bug_fix
您可以获取要切换到并使用的提交id:
git revert <commit_id>
git还原
据我所知,您只需执行一次git重置a3aec79
。如果要放弃工作副本更改,请使用--hard
标志
如果已经提前推送了提交,则必须使用
gitpush--force
。在这种情况下,最好是恢复而不是重置。我可以告诉你,你只需要执行一个git reset a379
。如果要放弃工作副本更改,请使用--hard
标志
如果已经提前推送了提交,则必须使用
gitpush--force
。在这种情况下,最好是还原,而不是重置。如果要撤消合并提交,并将功能分支设置回母版合并之前的确切状态,则可以执行以下操作:
git checkout feature
git reset --hard HEAD^
这假设自您进行合并后,功能分支中没有其他操作
HEAD^
是git cli中的一种简写符号,表示“上一次提交”。在您的情况下,功能分支指向特定的提交。因为我们知道提交是一个合并提交(将主机合并到功能分支中),所以我们知道该合并提交的第一个父级将是功能分支的前一个状态。git reset
命令将获取当前分支,并强制它指向其他提交。因此,我们通过运行上述命令和viola来使用这两个事实!您的业务已恢复。如果要撤消合并提交,并将功能分支设置回主功能合并到它之前的确切状态,则可以执行以下操作:
git checkout feature
git reset --hard HEAD^
这假设自您进行合并后,功能分支中没有其他操作
HEAD^
是git cli中的一种简写符号,表示“上一次提交”。在您的情况下,功能分支指向特定的提交。因为我们知道提交是一个合并提交(将主机合并到功能分支中),所以我们知道该合并提交的第一个父级将是功能分支的前一个状态。git reset
命令将获取当前分支,并强制它指向其他提交。因此,我们通过运行上述命令和viola来使用这两个事实!你的生意又回来了。我就是这样解决这个问题的
步骤1:使用reset hard命令和提交的sha命令,直到您要遍历到该命令为止
git reset --hard <SHAsum of your commit>
在新创建的分支上处理功能/问题。这就是我最终解决此问题的原因 步骤1:使用reset hard命令和提交的sha命令,直到您要遍历到该命令为止
git reset --hard <SHAsum of your commit>
在新创建的分支上处理功能/问题