【问题标题】:How to have my branch display "Your branch is up to date with 'origin/master'如何让我的分支显示“您的分支与 'origin/master' 是最新的
【发布时间】:2019-11-11 09:26:29
【问题描述】:

在我写一些我在谷歌上找到的命令之前,git 控制台说

你的分支是最新的'origin/master'

当我输入git status

所以,在我输入我在谷歌上找到的 (git push -u origin 01-MyfeatureProductListing) 后,当我检查状态 (git status) 时,它现在说:

您的分支是最新的'origin/01-MyfeatureProductListing'。

我如何让它回到旧的方式? (你的分支是最新的'origin/master'),每次我输入“git status

使用 Visual Studio 2017。

【问题讨论】:

    标签: git visual-studio-2017 azure-devops


    【解决方案1】:

    要将当前分支的上游分支设置回origin/master
    使用git branch-u|--set-upstream-to 选项:

    git branch -u origin/master
    

    您传递给git push-u 标志指示git 将您的当前分支链接到远程分支origin/01-MyfeatureProductListinggit branch -u 允许您将其覆盖到您想要的任何远程分支。
    您还可以使用--unset-upstream 停止让 git 将您的本地分支与远程分支进行比较。

    您可以在本地克隆的.git/config文件中查看本地分支和远程分支之间的链接;如果您使用任何文本编辑器(gedit、notepad、vscode ...)打开此文件,您应该会看到几个部分如下所示:

    [branch "mybranch"]
        remote = origin
        merge = refs/heads/01-MyfeatureProductListing
    

    以上表示本地分支mybranch设置为跟踪origin/01-MyfeatureProductListing
    -u 选项只是更新此部分。


    [edit] 显然git push-u 选项是完全可选的,如果你想在不设置或更新远程跟踪分支的情况下推送,只需删除 -u 选项。 ..

    【讨论】:

    • 输入git branch -u origin/master 获取Branch 'master' set up to track remote branch 'master' from 'origin'.
    • @SarthakRaval :是的,这是预期的行为。您对此消息有疑问吗?还是只是提一下人们应该期待的信息?
    • 如何查看我的git status 并重新输入git branch -u origin/master 我得到warning: refname 'origin/master' is ambiguous. fatal: Ambiguous object name: 'origin/master'.
    • 使用谷歌搜索你的错误信息fatal: Ambiguous object name,你会找到解释如何发现可能混淆git的东西(分支、标签、远程分支、引用)的帖子,因为它们具有相同的名称跨度>
    【解决方案2】:

    git status 将显示您当前的本地分支是在与之关联的远程跟踪分支之前还是之后。

    (要使远程跟踪分支与远程的 - 例如。origin - 分支使用 git fetch,它本身由 git pull 使用。)

    因为您使用-u(又名--set-upstream)选项推送了origin/01-MyfeatureProductListing 的远程跟踪分支。

    如果您想将您的本地工作分支01-MyfeatureProductListingorigin/master 进行比较:

    1. git fetch 以确保您的本地存储库对远程进行了任何更改。

    2. git diff "origin/master..HEAD" to compare your remote tracking branch formasterwith the latest commit on your current branch (almost always aliased toHEAD`)。

    没有直接的方法可以在您当前的本地分支和任意远程跟踪分支之间获得类似 git status 的显示。

    【讨论】:

    • 没有直接的方法可以在当前本地分支和任意远程跟踪分支之间显示 git 状态 但它之前是这样显示的!我只需要它恢复原来的样子。 (你的分支是最新的'origin/master'
    • @CodingValue 正如 LeGAC 所述,您可以更改远程跟踪分支,但这意味着您将推送到 master,这似乎不是您想要的。
    猜你喜欢
    • 2020-10-12
    • 2022-01-22
    • 1970-01-01
    • 2018-12-23
    • 2012-05-22
    • 2011-01-27
    • 2013-04-23
    相关资源
    最近更新 更多