一旦我将一个分支合并到Github上的master,我可以返回吗?

一旦我将一个分支合并到Github上的master,我可以返回吗?,git,github,Git,Github,我在第一次承担主要项目时经历了很大的困难。主要是因为我对下载的代码做了所有更改,而不是从主代码克隆的代码。因此,最终对我有效的方法是从masters远程分支创建一个本地分支,然后复制粘贴更改后的代码 但当我试图比较两者时,这就导致了一个相当混乱的观点。因为它将所有内容显示为已删除和已添加 所以我的问题是:一旦我将我的分支与Github的master合并,并且由于某种原因,结果不太好,有没有办法在合并之前返回master(没有大的困难) 谢谢你的回答。多亏了这些建议,第一批已经上线:)鉴于合并提交

我在第一次承担主要项目时经历了很大的困难。主要是因为我对下载的代码做了所有更改,而不是从主代码克隆的代码。因此,最终对我有效的方法是从masters远程分支创建一个本地分支,然后复制粘贴更改后的代码

但当我试图比较两者时,这就导致了一个相当混乱的观点。因为它将所有内容显示为已删除和已添加

所以我的问题是:一旦我将我的分支与Github的master合并,并且由于某种原因,结果不太好,有没有办法在合并之前返回master(没有大的困难)


谢谢你的回答。多亏了这些建议,第一批已经上线:)

鉴于合并提交已经在
主机中运行,最安全的方法是恢复该合并提交:

git checkout master
git revert -m 1 <commit hash of merge commit>
git签出主机
git-m1
要在
master
中找到合并提交的提交哈希,只需在bash中键入
git log
,然后找到提交

这种方法在
master
的基础上进行新的提交,从功能上撤消合并提交。您可以像往常一样推送您的
master
分支。如果向
master
发出拉取请求,则此方法也不应出现挂断


注意:
git revert
中使用的
-m1
选项告诉git使用第一个父项,即
master
作为要跟随的轨迹。我们还可以使用
-m2
,它将跟随作为合并源的功能分支。

要在提交更改后返回,可以使用以下命令:

               $git revert <commit hash code>
               $git log --oneline
              $git revert --abort
              $git revert --continue
这将显示提交哈希代码和提交消息

通过使用revert命令,只能恢复最近的提交

在git bash中使用revert命令后,如果存在冲突,则可以使用以下命令中止恢复(如果您不想在看到冲突后恢复):

               $git revert <commit hash code>
               $git log --oneline
              $git revert --abort
              $git revert --continue
解决冲突后,如果要继续,请使用以下命令:

               $git revert <commit hash code>
               $git log --oneline
              $git revert --abort
              $git revert --continue

此过程将还原最新的提交。

此后您是否发布(推送)主控?我推送到一个远程分支git推送源petroskali,该分支当前比主控(都是我的)提前2次提交@petroskali是的,您可以撤消git中的合并。但如果可能的话,最好避免。很可能会留下一个标记。可能的副本我尚未将我的远程分支合并到远程主机。我想这样做,因为github提供了“自动”方式。它会有我的flles版本吗?如果有什么不好的地方,那么我可以恢复到premerge状态吗?抱歉,这些问题可能有点愚蠢,但我对这一部分非常陌生:)我忘记了GitHub的自动恢复功能。确保它不会删除任何提交。如果您愿意,您可以完全从本地设置来处理此问题。本地听起来不错。那么我该如何推送到master呢(这样它就可以恢复了)现在这些是我最后的命令:git add../client/controllers/bronCtrl.js git add../client/partials/landing.html git add../client/css/main.css git commit-m“Real commit”git push origin petroskali如果你还没有合并到master,那么就没有什么好担心的了。如果您已经合并了,那么使用我的答案。当恢复合并时,您通常必须告诉git使用哪个父级作为-m选项