【问题标题】:Azure DevOps remote branches are not visible in one repositoryAzure DevOps 远程分支在一个存储库中不可见
【发布时间】:2021-01-28 15:48:35
【问题描述】:

我执行的操作列表和结果:

  1. 在本地,我有一个 master 分支,我在远程有它。

  2. 我在本地创建了一个dev/test 分支

  3. 我把它推到遥控器上

  4. 在 Azure DevOps 网站上,我可以看到该分支出现在“我的”选项卡中的分支中。

  5. 如果我尝试从 Visual Studio 或 git bash 获取和列出分支,则只有 master 分支可见。

    $ git branch -r  
      origin/HEAD -> origin/master   
      origin/master
    

我发现显示所有远程分支的唯一方法是:

$ git ls-remote --heads origin
08e2d2e3d332b607cef7cc85068b7eb1459d6d82        refs/heads/dev/test
04465a9f213757430aea00b77c4841c2e35ec8dc        refs/heads/master

问题是我无法结帐/拉取/合并我看不到的分支。

我尝试创建一个新的存储库并执行相同的操作,一切都像往常一样可见并且应该是。所以这个问题只存在于特定的存储库中。

我的问题是,我应该检查什么?如何让远程分支可见?

我尝试过的操作:

git fetch 什么都不做。

$ git branch -vv
* dev/test      ada4e0e commmitMessage 
  master        ada4e0e [origin/master] commmitMessage 

它没有显示远程跟踪,我尝试添加它

$ git branch -u origin/dev/test
error: the requested upstream branch 'origin/dev/test' does not exist
hint:
hint: If you are planning on basing your work on an upstream
hint: branch that already exists at the remote, you may need to
hint: run "git fetch" to retrieve it.
hint:
hint: If you are planning to push out a new local branch that
hint: will track its remote counterpart, you may want to use
hint: "git push -u" to set the upstream config as you push.

所以我按照建议做了

$ git push -u
Everything up-to-date
Branch 'dev/test' set up to track remote branch 'dev/test' from 'origin'.
    

又检查了一遍

$ git fetch
From https://dev.azure.com/company/repo/_git/repo
 * branch            dev/test   -> FETCH_HEAD

$ git branch -vv
* dev/test      ada4e0e commmitMessage 
  master        ada4e0e [origin/master] commmitMessage 

$ git branch -r
  origin/HEAD -> origin/master
  origin/master

【问题讨论】:

  • 您可以尝试重新克隆远程存储库吗?
  • 我也试过了,我只有master
  • 您可以在相关存储库上使用新分支进行复制吗?
  • 是的,此存储库上的新分支具有相同的行为
  • 可能是 ADO 上的分支安全设置。

标签: git azure-devops azure-repos


【解决方案1】:

我找到了解决方案。存储库是通过 HTTPS 连接的。
切换到 SSH 解决了所有问题。

microsoft docs.中的分步说明

第 1 步
在 Bash 中: $ ssh-keygen -C "your@email.com"。

第 2 步
将公钥添加到 Azure DevOps。

第 3 步
将生成的私钥文件移至C:\Users\{username}\.ssh
在同一位置创建config 文件

Host ssh.dev.azure.com
  IdentityFile ~/.ssh/privateKey     
  IdentitiesOnly yes

第 4 步
使用 SSH 链接克隆。

完成!

【讨论】:

    猜你喜欢
    • 2021-04-21
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 2017-05-15
    • 1970-01-01
    • 2015-03-25
    • 2014-06-20
    相关资源
    最近更新 更多