我已经克隆了一个存储库,之后其他人创建了一个新的分支,我想开始研究它.我阅读了手册,看起来很简单.奇怪的是它不起作用,我发现的所有帖子都表明我做的是正确的.因此,我会让自己受到抨击,因为这一定有明显的错误:
似乎是正确的行动
git fetch
git branch -a
* master
remotes/origin/HEAD --> origin/master
remotes/origin/master
git checkout -b dev-gml origin/dev-gml
Run Code Online (Sandbox Code Playgroud)
此时出现问题,由于某些原因git fetch我无法看到dev-gml远程分支.为什么不?如果我新近克隆存储库,它就在那里,所以远程分支肯定存在:
$ mkdir ../gitest
$ cd ../gitest
$ git clone https://github.com/example/proj.git
Cloning into proj...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 1155 (delta 741), reused 1155 (delta 741)
Receiving objects: 100% (1155/1155), 477.22 KiB | 877 KiB/s, done.
Resolving deltas: 100% (741/741), done.
$ cd projdir
$ git branch -a …Run Code Online (Sandbox Code Playgroud) 我正在使用这个名为Gift的真棒库来完成我所有的标准git事务(拉动,读取提交等).但是,我似乎无法获得远程分支机构.我相信git branch -r命令会显示分支,但格式肯定不是机器可读的:
origin/HEAD -> origin/master
origin/dev
origin/gh-pages
origin/master
Run Code Online (Sandbox Code Playgroud)
我想知道如何查看存储库所具有的所有远程分支.
谢谢!
我无法让Git在遥控器上获取新的分支.git remote show不会显示除master之外的任何分支存在,但git ls-remote证明它们存在.
示例:git ls-remote显示分支homodyne_process存在 -
$ git ls-remote origin
b935ee960a588144d3df0f08a82b81ea705c7543 HEAD
f11bd3ac9c2345a12edb9d49cd5bd027616b2226 refs/heads/homodyne_process
b935ee960a588144d3df0f08a82b81ea705c7543 refs/heads/master
Run Code Online (Sandbox Code Playgroud)
获取更新并显示远程分支
$ git fetch
$ git remote show origin
* remote origin
Fetch URL: gitolite@git.uio.no:***
Push URL: gitolite@git.uio.no:***
HEAD branch: master
Remote branch:
master tracked
Local branches configured for 'git pull':
master merges with remote master
Local refs configured for 'git push':
homodyne_process pushes to homodyne_process (fast-forwardable)
master pushes to master (up to date)
$ git branch …Run Code Online (Sandbox Code Playgroud) 在 CI 系统中使用Git API(例如 GitHub Actions 或 Travis-CI),我想收集有关存储库所有分支的信息。
遗憾的是,与本地分支不同,GitHub 分支似乎是相互隔离的。
假设我有一个包含三个分支的存储库(master另外两个分支是从master):
如果我运行以下脚本:
#!/usr/bin/env bash
printf "\n$ git for-each-ref --format='%(refname)' \n"
printf "$(git for-each-ref)\n"
printf "__________________________________________\n"
printf "\n$ git branch -a\n"
printf "$(git branch -a)\n"
Run Code Online (Sandbox Code Playgroud)
我只能看到master,看不到其他两个分支:
有没有办法使用 Git API 读取所有 GitHub 分支,或者我被迫使用 GitHub API?
我希望至少能够读取从我所在的分支生成的分支(master在本例中为 )。我开始猜测 GitHub 会为自己保留这些信息,而不会以任何规范的 Git 方式公开它......