Github pull请求显示太多更改/提交

Eva*_*bbs 10 git version-control github pull-request

我们有两个分支:developmaster.

出于某种原因,我创建了一个PR develop- > master.它显示了以前提交和更改的完整列表,即使我只进行了一次换行develop.

此外,当从命令行我能够合并developmaster没有问题时,它会说"无法自动合并" .

知道可能会发生什么吗?以前它对我们来说很好.

编辑:这里是什么样子,当我们尝试合并developmaster.只有最近的提交才是新的.其他人之前合并过: 在此输入图像描述 和输出 git log --oneline --decorate --all --graph 在此输入图像描述

Nie*_*emi 9

你的git日志显示develop分支中存在很多提交,这些提交在分支中不存在master.pull请求正确显示了这些提交的列表,这些提交可以合并到master分支中.

要列出develop分支中不属于分支的所有提交,master您可以使用该命令git log master..develop.这应该与您在拉取请求中看到的列表相匹配.

从您的git日志看起来develop已经合并到master以前.但由于这些合并提交不再在master分支中,有人可能将主分支重置为预告片状态吗?如果您对同步到master分支的环境进行部署,可能会回滚更改?

要再次master与之同步develop:

  1. 结帐developpull确保分支是最新的
  2. 做同样的事情 master
  3. 合并developmaster
  4. 解决冲突
  5. master分支

现在,master将在同步与develop试并提交的名单developmaster缺乏应该是空的.列出这些提交git log master..develop.您的下一个pull请求将仅包含您在此合并后执行的提交.

进一步的调查

如果您想进一步调查最终处于此状态的方式,可以使用reflog以查看对master分支所做的更改.例如,如果之前的一个最近的提交develop已经成为master分支的一部分.

git reflog master
Run Code Online (Sandbox Code Playgroud)

如果您想要这样做,您可以在合并分支之前执行此操作,以便在修复之前查看历史记录的外观.


MaN*_*KuR 1

我不确定我的操作是否正确。据我了解,您在分支中有一个提交,development所以这是我的尝试。我正在考虑你的开发分支与master不同步的问题

  1. 恢复开发分支提交,同时保留本地更改 git reset --soft HEAD^ # 假设最后一次提交是您的

    此时,您的本地更改将按原样保留在您的计算机中

    现在将其推送到 git ..此时您可以尝试强制推送。您可以从这里获取帮助 回滚远程 Git 存储库

  2. 存储本地更改,以便将来可以获取这些更改: git stash

    此时您的开发分支是干净的并且没有任何本地更改

  3. 现在切换到主分支并使用远程更新它。git checkout master 和 git pull origin master

  4. 切换到开发分支并使用远程更新。git checkout 开发 & git pull origin 开发

  5. 将 master 合并到其中。git 合并大师

    此时,您的开发分支与 master 同步,但在本地

  6. 将开发分支推送到远程服务器: git push origindevelopent

    现在你可以去 github 提高 PR 看看是否仍然显示出差异。如果上述步骤没有问题,则不应显示任何此类差异。

  7. 现在取回您在步骤 #2 中保存的本地更改。git stash 流行

  8. 现在提交它并推送到开发分支并查看 PR。

如果一切正常,那么它应该显示正确的差异。git clean在步骤 #2 之后也可能会有所帮助。