.git/refs/heads 没有得到所有分支
.git/refs/heads not getting all branches
当我运行.git/refs/heads时,它只显示我在本地签出的分支。
如何为我的所有分支创建 refs/heads?
或者如何为所有 origin/?
创建 refs/heads
我正在使用 Azure DevOps。我正在使用他们的预定义变量,这些变量将仅 return 拉取请求的 source/target 的分支引用。但是,这些变量将 return,例如 refs/heads/feature。因此,在我获得 refs 之后,我在我的一项 devops 任务中使用 git rev-list $branch-ref 。但它给了我模棱两可的论点 'refs/heads/feature': unknown revision ERROR。我认为发生这种情况是因为正在发生的 git 结帐没有这些引用。但是,当我使用 origin/feature 时它工作正常。所以我试图找到一种方法将所有 origin/ 变成 refs/heads/
在 .git/refs
文件夹中,您发现:
heads
文件夹,包含本地分支的所有refs
remotes
文件夹,包含所有遥控器(例如 origin
)
remotes/origin
文件夹,包含 origin
个远程分支 的所有引用
tags
文件夹,包含标签的所有引用
如果存储库已打包(这可能会自动发生),您将在文件 .git/packed-refs
.
中找到引用
根据您的需要,提取引用的正确方法是通过 git
本身。
应避免访问原始 .git
文件。
.git/refs/heads
不会包含所有本地分支机构的列表。有些会在 .git/packed-refs
.
要查看所有本地分支机构,请使用 git branch
。
How can I create refs/heads to all my branches? Or how can I create refs/heads to all the origin/?
除非您打算进行修改,否则不应创建本地分支。您可以改为参考 remote tracking branch。 origin/foo
指的是 origin
上的分支 foo
。
如果您真的想要,请使用 git branch -r
编写一个小脚本来获取所有远程分支的列表。这是 Ruby.
中的示例
remotes = `git branch -r`.split("\n").map(&:strip)
locals = remotes.map { |r| r.sub(%r{^.?+/}, ''); }
remotes.zip(locals) { |r,l| system("git branch #{l} #{r}") }
当我运行.git/refs/heads时,它只显示我在本地签出的分支。 如何为我的所有分支创建 refs/heads? 或者如何为所有 origin/?
创建 refs/heads我正在使用 Azure DevOps。我正在使用他们的预定义变量,这些变量将仅 return 拉取请求的 source/target 的分支引用。但是,这些变量将 return,例如 refs/heads/feature。因此,在我获得 refs 之后,我在我的一项 devops 任务中使用 git rev-list $branch-ref 。但它给了我模棱两可的论点 'refs/heads/feature': unknown revision ERROR。我认为发生这种情况是因为正在发生的 git 结帐没有这些引用。但是,当我使用 origin/feature 时它工作正常。所以我试图找到一种方法将所有 origin/ 变成 refs/heads/
在 .git/refs
文件夹中,您发现:
heads
文件夹,包含本地分支的所有refsremotes
文件夹,包含所有遥控器(例如origin
)remotes/origin
文件夹,包含origin
个远程分支 的所有引用
tags
文件夹,包含标签的所有引用
如果存储库已打包(这可能会自动发生),您将在文件 .git/packed-refs
.
根据您的需要,提取引用的正确方法是通过 git
本身。
应避免访问原始 .git
文件。
.git/refs/heads
不会包含所有本地分支机构的列表。有些会在 .git/packed-refs
.
要查看所有本地分支机构,请使用 git branch
。
How can I create refs/heads to all my branches? Or how can I create refs/heads to all the origin/?
除非您打算进行修改,否则不应创建本地分支。您可以改为参考 remote tracking branch。 origin/foo
指的是 origin
上的分支 foo
。
如果您真的想要,请使用 git branch -r
编写一个小脚本来获取所有远程分支的列表。这是 Ruby.
remotes = `git branch -r`.split("\n").map(&:strip)
locals = remotes.map { |r| r.sub(%r{^.?+/}, ''); }
remotes.zip(locals) { |r,l| system("git branch #{l} #{r}") }