在 repo 工作流中,当我的 git 分支和原始分支不匹配时,这意味着什么?

In repo workflow, what does it mean when my git branch and origin branch don't match?

当我这样做时 git status 我看到这样的东西:

On branch feature/my_new_feature
Your branch is up-to-date with 'origin/develop'.
nothing to commit, working directory clean

我正在使用 repo,我从 repo start feature/my_new_feature 开始这个功能,但我希望它基于 origin/feature/feature_release,这是我们做的分支继续开发,我希望使用 repo 意味着我不必跳入 git 来修补基本的东西,比如分支...

我们对这里的 repo 都有点陌生,所以很可能项目设置有误;从哪里开始寻找最好?

在清单文件中,项目具有默认或指定的修订版或上游。在您的情况下,它是 developrepo sync 几乎等同于 git checkout --detach <revision> 并且它导致分离的 HEAD。 repo start feature/my_new_feature<revision> 创建一个命名分支 feature/my_new_feature 并将 origin/develop 设置为其上游,相当于 git checkout -b feature/my_new_feature origin/develop && git branch -u origin/develop.

如果您希望 git status 中的上游是 origin/feature/feature_release,您应该在清单文件中将项目的属性 revisionupstream 指定为 feature/feature_release,或在存储库中使用 git checkout -b feature/my_new_feature origin/feature/feature_release && git branch -u origin/feature/feature_release。前一种方式 feature/feature_release 应该已经存在于远程仓库中,而后者 origin/feature/feature_release 应该已经存在于本地仓库中。