获取更新
你的购买包含今后每一个版本。这里是把更新拉下来的方法。
你的项目和脚手架共享同一条 git 历史,所以更新就是一次普通的合并。你的东西永远不会 被悄悄覆盖。
一次性设置
你的项目需要知道更新从哪里来。用你购买时拿到的仓库地址,运行一次:
git remote add upstream <脚手架仓库地址>如果你一开始就是 clone 那个仓库的,它可能已经被设成 origin 了。把它改个名,
让 upstream 明确表示「脚手架」:
git remote rename origin upstream看看有什么可更新的
pnpm update-starter check这条命令什么都不会改。它会告诉你有多少个新版本、它们动了哪些地方,以及 —— 这才是有用的部分 —— 其中哪些文件你自己也改过。只有那些地方需要你做选择。
注意是 update-starter,不是 update
pnpm update 是 pnpm 自带的依赖升级命令,跟这件事完全无关 —— 敲错了它会去升级
几百个依赖包,而且不会回答你任何问题。
应用更新
pnpm update-starter apply先把你自己的改动提交掉,否则这条命令会拒绝执行。跑完之后,确认项目还能正常运行:
pnpm install && pnpm typecheck && pnpm test && pnpm dev它说有冲突的时候
冲突不是问题,也不是你做错了什么。 它的意思是:同一个文件你改过、我们也改过, git 不愿意替你猜你想要哪一版。
最快的处理方式是直接交给你的助手:
带我过一遍这个项目里的每一处合并冲突。每一处都用大白话告诉我:我改了什么、 更新改了什么、该保留哪一个或者怎么合起来。然后按我的选择改好。
在你提交之前的任何时候,都可以彻底退回去:
git merge --abort什么都不会丢。你想什么时候再试都行。
怎样少遇到冲突
冲突只会发生在双方都改过的文件里。
- 尽量新增,而不是改写。 新加一个页面或组件永远不会冲突;重写一个自带的就可能会。
- 不要手改生成的文件。 它们会被重新生成,改了每次都冲突。
- 勤更新。 十次小更新,比攒一年之后来一次容易得多。