我犯了一个错误,并且当它应该被推动开发时推动变化。糟糕!
因此,我推动了更改以开发并从master中删除更改。
不幸的是,这导致了GitHub思维大师在开发之前是一个提交,因为开发是领先于大师的。
如何让GitHub明白开发是具有更新内容的分支,以便在未来的拉取请求中不会覆盖新的更改?
修改
我通过拉动它删除了master中的更改,使用
删除了最后一次提交git revert -m 1 <SHA of commit>
,并将其推送到主人
编辑2:
似乎我不清楚。开发分支具有我希望在将来实现的变更。
但是,master分支具有我应用于开发的提交以及另外的提交,这会取消已开发的更改。
我希望将来可以将开发中的更改应用于master。但是,大师认为它是领先的,因为我取消了在开发中实现的更改。
因此,开发分支被认为是一个提交,0提交,因为master有来自develop的更改加上一个提交,它会改变develop的变化。
根据我的理解,git rebase会快速前进&#39;发展到掌握。但是,这将是不受欢迎的,因为由于上述解释,这将删除master将来需要进行的更改。
答案 0 :(得分:1)
这是一个git的概念,其中一个分支都在前面和前面。在另一个分支后面。
由于您从master
中删除了不需要的提交,但又进行了1次提交(develop
分支中不存在),这意味着master
中存在1次提交在develop
分支中缺席。显然,master
在develop
之前提交1次。
同样,必须有一些提交(比如n),这些提交存在于develop
中但尚未出现在master
中 - 这意味着develop
分支是n
在master
之前提交。
所以你master
都领先(1次提交)&amp; develop
分支的后面(n个提交)。
要解决此问题,请将master
合并到develop
分支。
编辑后:
要解决这个问题,请获取您认为在主分支中正确存在的最新提交ID(在开发分支提交之前)。说<c1>
。然后执行以下操作:
git reset --hard <c1>
这将删除合并和取消合并提交。