gpt4 book ai didi

git - 为什么 pull 请求在 rebase 后会显示额外的提交?

转载 作者:行者123 更新时间:2023-12-04 13:16:22 24 4
gpt4 key购买 nike

所以我从一个 pull 请求开始,它比 develop 提前了几次提交,我们称这个分支feature .feature与开发有 1 个 merge 冲突。所以我决定重新设置它并解决冲突。

  • git checkout develop git pull
  • git checkout feature git pull
  • git rebase develop
  • merge 冲突已修复 - 添加了新提交
  • git rebase --continue
  • 重新定位成功。
  • git push (我实际上是在使用“同步更改”)

  • 在这些步骤之后,gitHub 上的 PR 从 7 次提交变成了 60 次以上的提交。
    我原以为它只会从 7 次提交到 8 次提交,因为我修复了一个冲突。
    关于发生了什么以及如何(如果需要)修复它的任何想法?
    如果需要,我可以发布其他信息

    编辑,这就是我遇到问题的原因:
    仔细检查您是否正在使用 git push --force从控制台而不是使用 git sync vscode中的按钮:
    git sync
    永远不要在重新定位后同步
    使用 git push --force反而!

    最佳答案

    看看你的分支的 git 日志,并尝试找到任何不寻常的地方。

    使用 git log 提到的一条评论,但您也可以使用 git log --graph --oneline获得分支提交历史的可视化表示。如果您的分支正确地重新定位,您会看到以下内容:

    * 5eccc30d1 (HEAD -> feature, origin/feature) # Your commit message 8
    * 5f73d262a # Your commit message 7
    * 6c636b744 # Your commit message 6
    * 97e17a7cf # ...
    * 596297507 # ...
    * 4646ce633 # ...
    * 9fb61eb95 # ...
    * 38dab17ae # Your commit message 1
    * 7532142f7 (origin/develop) Merge pull request #...
    |\
    | * 042303c7e Add feature
    * | 008f1e53b Merge pull request #...
    |\ \
    | * | 5a398f715 Fix issue with #...
    # And so on

    与此进行比较并尝试找到任何不寻常的东西。第一次提交下面的提交应该是你的基本分支,并且你写的提交之间不应该有任何提交。

    我怀疑使用 git pull 可能存在问题与您的功能分支。如果您自己正在处理此 PR,则没有理由这样做,并且因此可能会出现问题。

    如果您需要 pull 功能分支,请尝试使用 git pull --rebase相反,它相当于一个 fetch 和一个 rebase,而不是一个 fetch 和一个 merge 。这可以确保您的本地提交保持在您的历史记录之上,以防您的本地分支和您的来源之间存在差异。

    关于git - 为什么 pull 请求在 rebase 后会显示额外的提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60003798/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com