修改别人的源码并提交到自己的仓库
最近在修改 https://gitee.com/beecue/fastbee 项目的时候有一个需求.
就是将修改后的代码提交到自己的仓库, 并且当 fastbee 项目更新的时候, 将更新的内容合并到自己的项目中.
将别人的项目拉取下来后, 修改远程仓库的名字 git remote rename origin upstream
, 也可以将 upstream 改为别的, 看自己的习惯.
然后添加一个我们自己的远程仓库 git remote add <远程仓库名称> <仓库URL>
.
最后创建一个新的分支 git switch -c remote/<远程仓库名称>/<远程分支名称>
, 我们在这个分支上修改代码.
现在可以使用 git push -u <远程仓库名称> remote/<远程仓库名称>/<远程分支名称>:<远程分支名称>
提交到自己的仓库中.
后续拉取和推送, 可以切换到这个新的分支然后执行
git pull
或git push
.如果想只使用
git pull
, 前提是本地分支名要和远程分支名一样.
当别人的项目更新后, 先切换到 git switch main
分支(因为最开始拉取的就是这个分支), 然后再拉取更新 git pull
.
然后切换到开发分支(就是上面说的'新的分支'), 并执行 git merge main
将 main 分支合并到开发分支.
最后就可以提交这些代码到自己的仓库中了.
合并之前必须要先提交修改的代码, 保证仓库"干净".
有另一种情况, 是先拉取了自己的仓库, 然后再合并别人的代码.
在自己的仓库中, 创建一个新的分支 git switch -c merge/<远程仓库名称>/<远程仓库分支名>
.
然后再添加别人项目的远程仓库git remote add <远程仓库名称>_url <仓库URL>
.
通过 git fetch <远程仓库名称>_url
获取远程仓库的最新数据后, 通过 git merge <远程仓库名称>_url/<远程仓库分支名>
合并到当前分支.
本文作者:杂役24
本文链接:https://www.cnblogs.com/zy24/p/18469833
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步