Detail

同步 fork 与原始仓库(Upstream)

第一次配置 upstream

git remote add upstream https://github.com/original-user/original-repo.git

给 fork 的仓库添加原始仓库作为 upstream

每次同步更新流程

git fetch upstream              # 拉取原始仓库更新
git checkout main # 切换到 main 分支
git merge upstream/main # 合并 upstream 的 main 到本地 main
git push origin main # 推送更新后的 main 到 GitHub fork

用于保持 fork 与原始仓库同步

查看所有远程仓库

git remote -v

显示当前配置的远程仓库地址,包括 originupstream


合并 main 到某个分支

git checkout feature-x          # 切换到目标分支
git merge main # 把 main 的更新合并进来

建议先更新 main(git checkout main && git pull)后再执行,以确保最新


从某个分支合并回 main

git checkout main               # 切到 main 分支
git merge feature-x # 合并 feature-x 分支

若 feature-x 和其他分支有改动重叠,建议先 git merge main 到 feature-x 中,提前解决冲突


删除分支(本地 & 远程)

删除本地分支

git branch -d branch-name       # 安全删除(分支已 merge)
git branch -D branch-name # 强制删除(未 merge)

注意:不能删除当前所在的分支,要先切换到其他分支

删除远程分支

git push origin --delete branch-name

正确格式是分支名,不是 origin/branch-name


总结命令速查表

操作 命令
添加 upstream git remote add upstream URL
获取原始仓库更新 git fetch upstream
合并 upstream/main 到本地 main git merge upstream/main
推送更新后的 main git push origin main
合并 main 到某分支 git checkout branch && git merge main
合并某分支到 main git checkout main && git merge branch
删除本地分支(安全/强制) git branch -d name / git branch -D name
删除远程分支 git push origin --delete name
查看所有远程分支 git branch -r
查看远程仓库 git remote -v
查看当前用的是哪个 pip/python which pip / which python