怎么将所有远程git分支跟踪为本地分支?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (49)

将单个远程分支作为本地分支进行跟踪非常简单。

$ 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
提问于
用户回答回答于

使用bash:

for remote in `git branch -r `; do git branch --track $remote; done

更新分支机构,假设您的本地跟踪分支没有变化:

for remote in `git branch -r `; do git checkout $remote ; git pull; done

忽略模棱两可的refname警告,git似乎更喜欢本地分支。

用户回答回答于

使用这个:

for remote in `git branch -r | grep -v /HEAD`; do git checkout --track $remote ; done

它也有没有给你任何关于含糊不清的refs的警告。

扫码关注云+社区