将单个远程分支作为本地分支进行跟踪非常简单。
$ git checkout --track -b ${branch_name} origin/${branch_name}
将所有本地分支推送到远程,根据需要创建新的远程分支也很容易。
$ git push --all origin
我想做相反的事情。如果我在一个源上有X个远程分支:
$ git branch -r
branch1
branch2
branch3
.
.
.
我是否可以为所有这些远程分支创建本地跟踪分支,而无需手动创建每个分支?可以这样说:
$ git checkout --track -b --all origin
我已经用谷歌和RTMs搜索过了,但到目前为止还没找到。
发布于 2010-06-23 15:15:09
Otto给出的答案是好的,但是所有创建的分支都将以"origin/“作为名称的开头。如果您只想让最后一部分(在最后一个/之后)作为结果分支名称,请使用以下命令:
for remote in `git branch -r | grep -v /HEAD`; do git checkout --track $remote ; done
它还有一个好处,就是不会给你任何关于模糊引用的警告。
发布于 2008-12-18 20:48:39
你可以很容易地编写脚本,但我不知道它什么时候会有价值。这些分支很快就会落后,你必须一直更新它们。
远程分支将自动保持最新状态,因此最简单的方法就是在您真正想要处理的位置创建本地分支。
发布于 2014-05-08 05:14:18
for i in `git branch -a | grep remote`; do git branch --track ${i#remotes/origin/} $i; done
https://stackoverflow.com/questions/379081
复制相似问题