git fork模式整理
git fork模式流程
<url> = 项目地址(http://gitlab.xxx.com.cn/xxx/xxx.git)
<repo> = 仓库名(origin、upstream)
<branch> = 分支(xxx.xxx)
1.fork项目
2.关联公仓
1 2 3 | git remote add upstream <url> 本地仓库关联公仓 git fetch upstream 同步公仓 git remote - v 可查看关联仓库信息;origin 是远程私仓,upstream 是刚才关联的公仓; |
3.更新代码
推送本地修改到远程私仓前,一定要先从公仓拉取最新代码,否则合并时有冲突不好处理;提交代码,从私仓发起请求,公仓的合并不需要管;push到本地的代码私仓,进入私仓发起合并请求到公仓;
4.处理冲突
如果提交合并请求后,提示有冲突无法完成合并,则需要手动解决冲突;
本地 git pull upstream <branch>,强制将公仓的代码拉下来,效果等同如下:
1 2 | git fetch upstream git merge upstream/<branch> |
解决完冲突后,提交 push 到私仓,即可合并;
一个分支一次只能发起一个合并请求,如果前一次合并未完成,之后的每次 commit push都会堆积在该次合并请求里;
5.公仓新建的分支如何同步到私仓
1 2 | git remote update 或 git fetch upstream 同步公仓分支;如果没同步,checkout 指令会创建一个本地新分支而不是切换新分支;git checkout <branch> 切换到新分支,此时该分支关联的是主仓; git push -- set -upstream origin <branch> 将新分支推送并关联到私仓,自此完成公仓到私仓的新分支同步; |
其他命令
1 2 | git branch -vv 查看分支详情; 修改本地分支关联的仓库,用 git branch -- set -upstream-to=<repo>/<branch> 命令; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~