Git相信前面的分支落后于

时间:2018-04-15 02:40:00

标签: git github versioning git-branch

我犯了一个错误,并且当它应该被推动开发时推动变化。糟糕!

因此,我推动了更改以开发并从master中删除更改。

不幸的是,这导致了GitHub思维大师在开发之前是一个提交,因为开发是领先于大师的。

如何让GitHub明白开发是具有更新内容的分支,以便在未来的拉取请求中不会覆盖新的更改?

修改

我通过拉动它删除了master中的更改,使用

删除了最后一次提交
git revert -m 1 <SHA of commit>

,并将其推送到主人

编辑2:

似乎我不清楚。开发分支具有我希望在将来实现的变更。

但是,master分支具有我应用于开发的提交以及另外的提交,这会取消已开发的更改。

我希望将来可以将开发中的更改应用于master。但是,大师认为它是领先的,因为我取消了在开发中实现的更改。

因此,开发分支被认为是一个提交,0提交,因为master有来自develop的更改加上一个提交,它会改变develop的变化。

根据我的理解,git rebase会快速前进&#39;发展到掌握。但是,这将是不受欢迎的,因为由于上述解释,这将删除master将来需要进行的更改。

1 个答案:

答案 0 :(得分:1)

这是一个git的概念,其中一个分支都在前面和前面。在另一个分支后面。

由于您从master中删除了不需要的提交,但又进行了1次提交(develop分支中不存在),这意味着master中存在1次提交在develop分支中缺席。显然,masterdevelop之前提交1次。

同样,必须有一些提交(比如n),这些提交存在于develop中但尚未出现在master中 - 这意味着develop分支是nmaster之前提交。

所以你master都领先(1次提交)&amp; develop分支的后面(n个提交)。

要解决此问题,请将master合并到develop分支。

编辑后:

要解决这个问题,请获取您认为在主分支中正确存在的最新提交ID(在开发分支提交之前)。说<c1>。然后执行以下操作:

git reset --hard <c1>

这将删除合并和取消合并提交。