Git操作问询:本地Fork仓库关联上游及分支创建方法
嘿,这个工作流确实是Git进阶用户常用的,尤其是在fork仓库后和上游同步的场景,我来一步步帮你梳理清楚:
1. 设置上游仓库与分支跟踪
首先你需要把上游仓库(companyRepo/repo)添加为本地仓库的远程源,约定俗成的名称是upstream,这样方便后续区分你自己的仓库(origin,对应foobaz/repo)和上游仓库:
- 添加上游远程仓库:
(这里替换成实际的仓库URL,SSH地址也适用)git remote add upstream https://github.com/companyRepo/repo.git - 验证远程仓库是否添加成功:
输出里应该能看到git remote -vorigin(你的仓库)和upstream(上游仓库)的对应地址。
如果已经有本地分支想跟踪上游的对应分支(比如本地develop分支跟踪上游upstream/develop),可以用这条命令:
git branch --set-upstream-to=upstream/develop develop
后续你在本地develop分支执行git pull时,就会自动从上游develop拉取更新;执行git push则默认推送到你自己的origin/develop。
2. 基于上游develop分支创建自己的fix-issue-101分支
要创建基于上游companyRepo/repo/develop的本地分支fix-issue-101,并推送到你自己的仓库foobaz/repo,按以下步骤来:
- 先拉取上游仓库的最新代码(确保你拿到的是上游develop的最新状态):
git fetch upstream - 直接从上游
upstream/develop检出并创建本地新分支fix-issue-101:
这条命令会同时完成两个操作:创建本地分支git checkout -b fix-issue-101 upstream/developfix-issue-101,并让它基于上游develop分支的最新提交。 - 把这个新分支推送到你自己的远程仓库
foobaz/repo,并设置本地分支跟踪远程分支(这样后续git push/git pull默认操作这个远程分支):git push -u origin fix-issue-101
这样操作后,你的foobaz/repo仓库就会有一个fix-issue-101分支,它的起点是上游companyRepo/repo/develop的最新版本。
内容的提问来源于stack exchange,提问作者Brandon Deo
相关产品推荐
相关产品推荐

