Git如何检出upstream新分支并推送到个人fork且本地跟踪origin分支
正确操作命令序列
首先确保你已经拉取了上游仓库的最新分支数据:
git fetch upstream
之后按顺序执行以下命令:
- 基于上游的
newBranch创建本地同名分支并自动切换到该分支:git checkout -b newBranch upstream/newBranch - 推送本地
newBranch到你的Fork仓库(对应本地远程名origin),同时设置本地分支默认跟踪origin/newBranch:
其中git push -u origin newBranch-u是--set-upstream的缩写,作用就是在推送时直接建立本地分支和目标远程分支的跟踪绑定,无需额外执行跟踪设置命令。
补充说明
你之前执行
git checkout upstream/newBranch进入分离头状态的原因是:upstream/newBranch属于远程仓库引用,不是本地分支,Git无法将提交绑定到不存在的本地分支,因此会进入临时的分离头模式,该模式下的修改如果不主动创建本地分支会在切换分支后丢失。
操作完成后,你本地的newBranch默认跟踪目标就是origin/newBranch,后续执行git pull、git push都会直接和你自己的Fork仓库交互,不会影响上游main/repo的分支。
内容的提问来源于stack exchange,提问作者ekapitu
相关产品推荐
相关产品推荐

