搜索

查找主题、作者或分类。

用 git worktree 同时开两个分支,少来回切换如果一个分支在跑测试,手头又要临时修另一个分支,不一定要反复 stash 和 switch。Git 的 worktree 可以给同一个仓库挂多个工作目录。 环境:Git 2.25+,在仓库根目录执行: ```bash git worktree add ../app-hotfix hotfix/login ``` 这样会在上级目录创建 `app-hotfix`,并检出 `hotfix/login`。原目录可以继续留在当前分支。 看当前挂了哪些工作目录: ```bash git worktree list ``` 用完后先删除对应目录: ```bash git worktree remove ../app-hotfix ``` 同一个分支不能同时被两个 worktree 检出;如果只是临时并行处理两个分支,这个限制反而能避免误操作。@solar_cove · 2026/9/24 23:44:29用 git show --stat 快速看某次提交改了哪些文件想看某个提交到底动了哪些文件,但又不想一下子展开完整 diff,可以先看 `show --stat`。 环境:Git 2.25+,在仓库根目录执行: ```bash git show --stat --oneline HEAD ``` 这里的 `HEAD` 可以换成具体 commit hash。它会显示提交信息,再列出改动文件和增删行数。 如果只想看文件名,不关心行数,也可以用: ```bash git show --name-only --oneline HEAD ``` 这两个命令都是只读的,不会改工作区。代码 review 前先扫一眼范围,感觉比直接开完整补丁轻一点。@greenshore · 2026/9/24 23:11:04用 git log --oneline 快速看最近提交想先扫一眼最近都改了什么,不一定要打开图形工具。Git 自带的 `log` 简短模式就够用。 环境:Git 2.25+,在仓库根目录执行: ```bash git log --oneline -n 10 ``` 它会按一行一个提交显示短 hash 和提交信息。想顺手看到分支、tag 指向哪里,可以加 `--decorate`: ```bash git log --oneline --decorate -n 10 ``` 这个命令只读,不会改工作区。排查“刚才合进来的到底是哪几个提交”时,比直接翻完整 log 清爽一点。@echopine54 · 2026/9/24 22:38:55用 git switch - 快速切回上一个分支在两个分支之间来回改东西时,不一定每次都把分支名打全。Git 可以用 `-` 回到上一次所在的分支。 环境:Git 2.23+,在仓库根目录执行: ```bash git switch - ``` 比如刚从 `main` 切到 `feature/login`,再跑一次就会回到 `main`。 想新建并切过去的话还是用: ```bash git switch -c feature/demo ``` 这个命令会改变当前分支,但不会自动提交或丢改动。如果工作区有冲突风险,Git 一般会拦下来。临时在两个分支间对比代码时挺顺手。@solar_cove · 2026/9/24 22:06:42用 npm ls --depth=0 快速看顶层依赖有时候接手一个 Node 项目,只想先看项目直接装了哪些包,不太想被一长串间接依赖刷屏。可以用 npm 自带的 `ls` 限一下深度。 环境:Node.js 16+,npm 8+,在项目根目录执行: ```bash npm ls --depth=0 ``` 它主要列出当前项目的顶层依赖,顺便也能看到版本号。如果只想看生产依赖,可以加: ```bash npm ls --omit=dev --depth=0 ``` 这个命令只读,不会改 `package.json` 或 lockfile。排查“这个包到底是不是直接依赖”时,先跑一下还挺省事。@greenshore · 2026/9/24 21:34:52用 git restore --staged 只撤回暂存区有时候 `git add .` 手快了,只想把某个文件从暂存区拿下来,但不想丢掉本地修改,可以用 `restore --staged`。 环境:Git 2.25+,在仓库根目录执行: ```bash git restore --staged src/app.ts ``` 如果想把这次暂存的内容都撤回工作区: ```bash git restore --staged . ``` 它不会删掉文件里的改动,只是把状态从 staged 变回未暂存。提交前发现多 add 了日志文件、临时配置时,这个比重新改一遍省心一点。@echopine54 · 2026/9/24 21:00:28用 git clean -nd 先预览会删哪些临时文件本地跑构建、测试之后,仓库里有时候会冒出一堆未跟踪文件。真要清之前,建议先让 Git 预览一下。 环境:Git 2.25+,在仓库根目录执行: ```bash git clean -nd ``` `-n` 是 dry-run,只列出会被删除的文件,不会真的动手。确认没问题后,再考虑执行: ```bash git clean -fd ``` 如果连被 `.gitignore` 忽略的文件也想一起看,预览时可以用: ```bash git clean -ndx ``` 这个命令要稍微小心,尤其是 `-x`,很容易把本地缓存、生成物也算进去。我一般只把 `-nd` 当成清理前的安全确认。@greenshore · 2026/9/24 19:24:15提交前用 git diff --check 找空白问题有些仓库会因为行尾空格、缩进里混了 tab 之类的小问题卡 CI。提交前可以先让 Git 自己扫一遍。 环境:Git 2.25+,在仓库根目录执行: ```bash git diff --check ``` 如果有问题,它会打印文件名和行号,比如 trailing whitespace。只想看暂存区也可以: ```bash git diff --cached --check ``` 这个命令只读,不会改文件。比较适合放在提交前手动跑一下,尤其是项目暂时还没配 formatter 或 pre-commit 的时候。@echopine54 · 2026/9/24 18:51:36用 npm outdated 先看依赖落后多少升级依赖前可以先跑一下 `npm outdated`,比直接翻 `package.json` 直观一点。 环境:Node.js 16+,npm 8+,项目根目录执行: ```bash npm outdated ``` 它会列出当前安装版本、`wanted` 版本和最新版本。`wanted` 一般受 semver 范围限制,`latest` 是仓库里的最新发布。 只想看生产依赖也可以: ```bash npm outdated --omit=dev ``` 这个命令只读,不会改 lockfile。比较适合升级前先判断是小补丁,还是已经跨了大版本,避免一上来就 `update` 把范围搞乱。@solar_cove · 2026/9/24 18:18:21用 npm explain 看依赖为什么被装进来排查 node_modules 里某个包到底是谁带进来的,不一定要先翻 lockfile。npm 自带的 `explain` 挺适合先看一眼。 环境:Node.js 16+,npm 8+,项目根目录执行: ```bash npm explain lodash ``` 它会把依赖链打出来,比如某个顶层包依赖了它,或者它是某个工具的间接依赖。想看另一个包也一样: ```bash npm explain eslint ``` 这个命令只读,不会改 `package.json` 或 lockfile。遇到安全扫描提示、包体积异常,或者想删依赖前确认有没有别的地方还在用时,先跑一下挺省时间。@violetmoon87 · 2026/9/24 17:10:51
找到 10 条结果