Github - 比较分支时没有文件更改但有很多提交

标签 git github

我正在将我的分支中的开发分支与上游中的开发分支进行比较。它显示 30 次提交的差异,但 0 个文件更改。 diff 中出现的所有提交都是已经 merge 到上游的旧提交(主要是“Merge branch dev..”类型)。这会导致每个 PR 显示那么多旧提交的问题。尝试 rebase 并仍然显示相同的差异。

为什么会这样?能否请您协助如何解决?我们正在使用 Github for Enterprise,因此无法附加显示差异的 url。

最佳答案

Why this happens?

可能是因为您可能已经从您的Fork(origin)/dev 和upstream/dev 完成了PR (Pull Requests),这不是一个好的做法。
您通常会从专用分支 (myfix) 到 upstream/dev 执行 PR。然后只需将您自己的 dev 重置为 upstream/dev,以便在您的 fork 中拥有 upstream/dev 的精确镜像,并且:

  • 为 future 的 PR 创建新的 fix/feature 分支,
  • 将现有的 fix/feature 分支基于 dev 以促进 future 的 PR。

如果所有内容都提交或存储在本地,我会:

  • 在我的本地 dev 所在的位置创建一个专用分支(myfixmyfeature)(假设我直接在 开发)
  • 将开发重置为上游开发

即:

git switch dev
git branch myfix
git fetch upstream
git reset --hard upstream/dev
git push --force
git switch myfix
# resume working

关于Github - 比较分支时没有文件更改但有很多提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64369860/

相关文章:

git - 根据文件夹设置git凭据

ubuntu - Git : ERROR: Permission to repo. git 拒绝用户

java - gitignore 不会忽略已经提交的文件吗?

github - GitHub 有没有办法支持从右到左的文件?

GitHub:Enterprise post-receive hook

windows - bitbucket ssh error setsockopt IPV6_TCLASS 8 操作

当我切换分支时,Git 正在删除一个被忽略的文件

git - 在 GitHub 中,更新一个分支以匹配另一个分支

git - 将 master merge 到主分支

将提交推送到 github 时 Git 失败