代码之家  ›  专栏  ›  技术社区  ›  John Little

吉特:我怎样才能得到分支的最新版本?

git
  •  0
  • John Little  · 技术社区  · 6 年前

    然后我转到我们的开发部门(不是我创建的)

    git checkout somebranch/develop
    

    $git status
    On branch somebranch/develop
    nothing to commit, working tree clean
    
    $git pull
    

    得到:

    There is no tracking information for the current branch.
    Please specify which branch you want to merge with.
    

    $ git remote -v
    origin  https://dev.azure.com/org/proj/_git/proj(fetch)
    origin  https://dev.azure.com/org/proj/_git/proj(push)
    

    我也试过:

    git pull origin somebranch/develop
    

    但这给了我们:

    fatal: Couldn't find remote ref somebranch/develop
    

    https://dev.azure.com/ 门户,以及所有其他开发人员都在使用它。

    我只是做了克隆,切换到一个分支,现在我想得到该分支的最新版本。我没有做其他的命令。

    另外,当我刚刚做“git pull”时,它下载了大量的更改。

    如果我做“git branch-a”,我会看到:

    remotes/origin/somebranch/develop
    
    
    $ git branch -vv 
    

    给予:

    somebranch/develop 7b2abd41b [origin/somebranch/develop: behind 92] V1/V2 SitePageData merge
    

    问题是,我该如何提取这个分支的最新版本?从azure git repo中获取非主分支的最新版本的命令或命令集是什么?该分支已从其他dev中进行了更改?或者一个人总是需要手动到上游跟踪的事情,以获得分支的最新版本,在这种情况下,为什么git签出不为您这样做?

    0 回复  |  直到 6 年前
        1
  •  1
  •   Ogabek Yusupov    6 年前

    需要设置上游跟踪:

    git branch --set-upstream-to=origin/somebranch/develop somebranch/develop
    
    
        2
  •  0
  •   Mark Bramnik    6 年前

    看起来您的分支没有“远程对应项”—通常(默认情况下)应该是 origin/somebranch/develop

    您可能需要首先检查以下假设:

    git branch -vv | grep somebranch/develop
    

    如果它有一个“链接”到它的远程分支(就git而言,是上游分支),您应该看到如下内容

    somebranch/develop   <sha1> [origin/somebranch/develop] <last commit message>
    

    somebranch/develop   <sha1> <last commit message>
    

    在这种情况下,你应该“链接”上游跟踪。 Here

    也可以在实际命令之前运行

    git fetch --all # just to make sure you have an information about this branch