Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 到达某个提交并放弃在此之前完成的所有提交_Git_Github - Fatal编程技术网

Git 到达某个提交并放弃在此之前完成的所有提交

Git 到达某个提交并放弃在此之前完成的所有提交,git,github,Git,Github,我已将主分支合并到功能分支中。然而,commit进展并不顺利。它把原本应该来自大师的改变搞砸了。功能分支提前45次提交,这是其中最新的4次提前提交: 现在我需要达到承诺。并放弃在此特定提交之后执行的所有提交。为了安全起见,您可以先签出到较新的分支 git checkout -b bug_fix 您可以获取要切换到并使用的提交id: git revert <commit_id> git还原 为了安全起见,您可以先到较新的分行结账 git checkout -b bug_fix

我已将主分支合并到功能分支中。然而,commit进展并不顺利。它把原本应该来自大师的改变搞砸了。功能分支提前45次提交,这是其中最新的4次提前提交:


现在我需要达到承诺。并放弃在此特定提交之后执行的所有提交。

为了安全起见,您可以先签出到较新的分支

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>
在新创建的分支上处理功能/问题