我想创建一个汇合作业,它可以审计git的分支。然而,我尝试过的git资源和许多其他类似的资源,只能将一个分支拉进回购系统。我需要能够让汇合下载一个回购所有的远程分支。我怎么能这么做?
我已经尝试过以下选项,这些选项没有下载所有远程分支:
https://github.com/vito/git-branches-resource
https://github.com/cloudfoundry-community/git-multibranch-resource
在下载资源之后,我也无法使用git命令拉下额外的分支:
root@e17c8b62-a8ac-4572-5e8f-d880c815ddff:/tmp/build/6bbb901a/my-repo# git fetch
root@e17c8b62-a8ac-4572-5e8f-d880c815ddff:/tmp/build/6bbb901a/my-repo# git branch -r
origin/HEAD -> origin/master
origin/master
root@e17c8b62-a8ac-4572-5e8f-d880c815ddff:/tmp/build/6bbb901a/my-repo# git fetch --all
Fetching origin
root@e17c8b62-a8ac-4572-5e8f-d880c815ddff:/tmp/build/6bbb901a/my-repo# git branch -r
origin/HEAD -> origin/master
origin/master如果这是我要找的信息:
$ git branch -r
origin/HEAD -> origin/master
origin/asdf
origin/master
origin/test我不能像我想要的那样运行额外的拉命令,因为我想对私有的repos运行这个命令,并且不想将我的ssh键插入到大厅中。
我确实注意到repos中的. .git/config被设置为一个分支,这意味着它是配置为远程跟踪
[origin]
fetch = +refs/heads/master:refs/remotes/origin/master用*替换行中的主程序解决了这个问题,但我想要一个更少的手动解决方案:
fetch = +refs/heads/*:refs/remotes/origin/*一种选择是使用sed命令(中间作业)修复它:
cat .git/config | sed -e 's/master/*/g' > .git/config
git fetch --all
git branch -r
origin/HEAD -> origin/master
origin/asdf
origin/master
origin/test不过,我想要一些不那么凌乱的东西。
发布于 2017-11-02 18:14:44
这是添加所有远程分支的正确的fetch命令:
git fetch origin '+refs/heads/*:refs/remotes/origin/*'
发布于 2017-09-28 17:26:56
只要做git fetch,它就会自动这么做。
发布于 2017-09-29 09:13:39
在使用git fetch之前,您需要执行几个步骤:
git config user.email "${GIT_USER_EMAIL}" git config user.name "${GIT_USER_NAME}"现在,您可以在您的码头集装箱内使用git做您想做的任何事情。
https://stackoverflow.com/questions/46474858
复制相似问题