Eva*_*bbs 10 git version-control github pull-request
我们有两个分支:develop和master.
出于某种原因,我创建了一个PR develop- > master.它显示了以前提交和更改的完整列表,即使我只进行了一次换行develop.
此外,当从命令行我能够合并develop到master没有问题时,它会说"无法自动合并" .
知道可能会发生什么吗?以前它对我们来说很好.
编辑:这里是什么样子,当我们尝试合并develop到master.只有最近的提交才是新的.其他人之前合并过:
和输出 git log --oneline --decorate --all --graph

你的git日志显示develop分支中存在很多提交,这些提交在分支中不存在master.pull请求正确显示了这些提交的列表,这些提交可以合并到master分支中.
要列出develop分支中不属于分支的所有提交,master您可以使用该命令git log master..develop.这应该与您在拉取请求中看到的列表相匹配.
从您的git日志看起来develop已经合并到master以前.但由于这些合并提交不再在master分支中,有人可能将主分支重置为预告片状态吗?如果您对同步到master分支的环境进行部署,可能会回滚更改?
要再次master与之同步develop:
develop并pull确保分支是最新的masterdevelop成mastermaster分支现在,master将在同步与develop试并提交的名单develop是master缺乏应该是空的.列出这些提交git log master..develop.您的下一个pull请求将仅包含您在此合并后执行的提交.
如果您想进一步调查最终处于此状态的方式,可以使用reflog以查看对master分支所做的更改.例如,如果之前的一个最近的提交develop已经成为master分支的一部分.
git reflog master
Run Code Online (Sandbox Code Playgroud)
如果您想要这样做,您可以在合并分支之前执行此操作,以便在修复之前查看历史记录的外观.
我不确定我的操作是否正确。据我了解,您在分支中有一个提交,development所以这是我的尝试。我正在考虑你的开发分支与master不同步的问题
恢复开发分支提交,同时保留本地更改 git reset --soft HEAD^ # 假设最后一次提交是您的
此时,您的本地更改将按原样保留在您的计算机中
现在将其推送到 git ..此时您可以尝试强制推送。您可以从这里获取帮助 回滚远程 Git 存储库
存储本地更改,以便将来可以获取这些更改: git stash
此时您的开发分支是干净的并且没有任何本地更改
现在切换到主分支并使用远程更新它。git checkout master 和 git pull origin master
切换到开发分支并使用远程更新。git checkout 开发 & git pull origin 开发
将 master 合并到其中。git 合并大师
此时,您的开发分支与 master 同步,但在本地
将开发分支推送到远程服务器: git push origindevelopent
现在你可以去 github 提高 PR 看看是否仍然显示出差异。如果上述步骤没有问题,则不应显示任何此类差异。
现在取回您在步骤 #2 中保存的本地更改。git stash 流行
现在提交它并推送到开发分支并查看 PR。
如果一切正常,那么它应该显示正确的差异。git clean在步骤 #2 之后也可能会有所帮助。