【问题标题】:Why does github compare my branch with the default branch instead of the source branch from which it was created?为什么 github 将我的分支与默认分支而不是创建它的源分支进行比较?
【发布时间】:2020-03-18 18:46:16
【问题描述】:

我正在尝试从the following repositorykinetic-devel 分支创建一个新的test 分支。我通过使用以下 git 命令来做到这一点:

git checkout -b test kinetic-devel

在 GitHub.com 上查看新分支时,我希望 GitHub 界面显示新创建的 test 分支与 kinetic-devel 源分支的比较:

相反,GitHub 向我展示了与默认的 melodic-devel 分支而不是创建它的 kinetic-devel 源分支的比较:

从 git log 来看,test 分支确实是kinetic-devel 分支的子,而不是melodic-devel 分支。

问题

这只是一个与接口相关的问题,还是我在创建新分支时做错了什么?

【问题讨论】:

    标签: git github git-branch git-checkout


    【解决方案1】:

    这只是一个与接口相关的问题,还是我在创建新分支时做错了什么?

    而不是前者:此存储库有一个默认分支(在rickstaa/panda_moveit_config/branches 中可见)设置为melodic-devel

    所以它是评估任何 PR 的默认分支。

    【讨论】:

    • 非常感谢您的回答。所以只要我使用checkout kinetic-devel; branch testcheckout -b test kinetic-devel 创建我的新分支。分支是否总是相对于kinetic-devel 分支?
    • @arcety 您选择了正确的答案;)您的分支将从 kinetic-devel 创建,并且可以作为自己的名称推送,以代表一个新的 PR 分支。然后,您可以针对您想要的原始存储库的任何分支触发 PR。
    • 非常感谢您详细说明。唯一让我感兴趣的是,我的 fork 的原始 kinetic-devel 分支与上游存储库的 kinetic-devel 分支进行了比较。这可能是因为 kinetic-devel 分支存在于上游存储库本身吗?
    • @arcety 我想确实如此。当你做 PR 时,最好的做法是创建一个分支(从一个已知的分支,如 upstream/kinetic-devel),并为该 PR 创建一个唯一的名称。这使维护者可以区分他们稍后将要集成的内容。
    【解决方案2】:

    您可能正在尝试从 melodic-devel 开始创建您的分支。 设置轨道分支的正确命令是:

    git checkout -b <branch> --track <remote>/<branch>
    

    要正确跟踪您的分支,您应该使用以下命令:

    git checkout -b test --track origin/kinetic-devel
    

    或:

    git checkout kinetic-devel
    git branch -b test
    

    【讨论】:

    • 非常感谢您的回答我尝试了这两种方法,但 GitHub 一直显示错误的比较。因此,我怀疑这是一个接口问题,因为 git 日志等于 kinetic-devel 分支的日志。
    猜你喜欢
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 2018-10-22
    • 1970-01-01
    相关资源
    最近更新 更多