如何将manual_test目录下的所有Git分支推送到远程仓库?
如何批量推送以
manual_test/开头的本地分支到远程仓库 当然可以批量推送所有符合manual_test/xxx格式的本地分支到远程仓库,我给你整理了两种实用的方法,操作起来很简单:
第一步:先确认本地目标分支
首先咱们先核对一下本地所有以manual_test/开头的分支,避免推错:
git branch | grep "^ manual_test/"
这个命令会筛选出所有本地分支里名称以manual_test/开头的条目,你可以检查是不是你要推送的那些分支。
方法一:逐个循环推送(适合查看每个分支推送状态)
如果想逐个确认每个分支的推送过程,可以用shell循环来处理:
git branch | grep "^ manual_test/" | sed 's/^ //' | while read branch; do # 加上-u参数可以同时设置上游分支,方便后续拉取更新 git push -u origin "$branch" done
小解释:
sed 's/^ //'是去掉分支名称前面的空格(git branch输出的分支前默认有两个空格)- 循环里的
git push -u origin "$branch"会把每个分支推送到远程的origin仓库,-u参数会关联本地和远程分支,之后直接git pull就能拉取对应分支的更新。
方法二:一次性批量推送(适合快速完成操作)
如果想一次性推送所有目标分支,不需要逐个查看状态,可以用下面的命令:
git push origin $(git branch | grep "^ manual_test/" | sed 's/^ //')
要是需要给所有分支都设置上游,也可以加上-u参数:
git push -u origin $(git branch | grep "^ manual_test/" | sed 's/^ //')
注意事项
- 推送前可以用
git remote -v确认一下已经正确关联了目标远程仓库 - 如果远程已经存在同名分支,推送会覆盖远程分支内容,建议先拉取远程最新内容再推送
- 如果遇到权限报错,检查一下你对远程仓库的推送权限是否正常
内容的提问来源于stack exchange,提问作者jjcasmar
相关产品推荐
相关产品推荐

