如何用单条Git命令创建指定起点并关联同名上游分支?
单条命令创建分支并关联同名上游分支
完全可以用单条命令实现你的需求,以下是两种实用方案,能避免重复输入分支名:
兼容所有Git版本的方案
借助Shell变量存储分支名,把创建分支和关联上游的操作合并成一条命令:
BRANCH=feature/MyFeature; git checkout -b $BRANCH origin/develop --no-track && git branch -u origin/$BRANCH
这条命令会完成两件事:
- 从
origin/develop拉取代码,创建本地分支feature/MyFeature - 直接将本地分支与
origin上的同名上游分支关联(哪怕远程还没有这个分支,之后第一次git push会自动在远程创建它)
Git 2.23+ 推荐方案
Git 2.23之后新增的git switch命令语法更清晰,同样用Shell变量避免重复输入:
BRANCH=feature/MyFeature; git switch -c $BRANCH origin/develop --set-upstream-to=origin/$BRANCH
功能和上面的方案完全一致,只是命令更贴合Git的现代使用习惯。
如果你的远程仓库默认是origin(几乎都是这种情况),其实还有个更简便的思路:创建分支后第一次推送时用git push -u,它会自动关联同名上游分支,但这需要两步操作。如果你坚持要单条命令完成,上面的两种方案就是最优选择。
内容的提问来源于stack exchange,提问作者Antoniossss
相关产品推荐
相关产品推荐

