From 450655bebfa5528cca8a29f853ddee2713c8ab64 Mon Sep 17 00:00:00 2001 From: snowy-yang <102860110+snowy-yang@users.noreply.github.com> Date: Sat, 19 Sep 2026 12:56:07 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E8=A1=A5=E8=AE=B0=E6=9C=AC=E6=9C=BA?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E4=BB=93=E5=BA=93/=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=9D=91=EF=BC=88Git=20Bash=20=E7=BC=BA=20cat=E3=80=81.gitigno?= =?UTF-8?q?re=20=E7=9A=84=20/=5F*=20=E8=A7=84=E5=88=99=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 提交多行 message 时用 git commit -F <文件>,不要用 $(cat <&1` 必须**整条无管道**(`| tail -40` 会让命令直接 127 退出,看起来像"没输出")。 PowerShell 跑原生命令的 `*>` 重定向会写成 UTF-16 + 中文乱码,**别用它读输出**。 +- **写多行 git commit message 不要用 `git commit -m "$(cat <<'EOF' ... EOF)"`**:本机没有 `cat`, + 会报 `cat: command not found` 然后 git 以为消息为空直接 `Aborting commit due to empty commit message` + (此时 `git add -A` 已经成功,暂存区是好的)。正确做法:把消息写进一个文件 + (用 Write 工具,再 `read_bytes().replace(b"\r\n", b"\n")` 归一化成 LF,避免 CRLF 混进消息), + 然后 `git commit -F <文件>`,最后删掉它。**注意顺序**:先 `git add -A` 再建消息文件, + 这样消息文件不会进暂存区(而且见下条,它本来也会被忽略)。 +- `.gitignore` 里有 **`/_*`**(根目录下划线开头的文件全部忽略):好处是临时补丁脚本 + (`_splice_app.py`、`_commit_msg.txt` 之类)默认就不会污染 `git status`,跑完删不删都不碍事; + 代价是**放在根目录、以 `_` 开头的正经文件也会被静默忽略**,要提交就换名字或放子目录。 - 环境设了 `HTTP_PROXY` 但没有 `no_proxy`:任何本机 HTTP 访问都要走 `farm/net.py` 的 `open_url()`(回环直连),否则会拿到 502 并误判为"服务器没起来"。 - Windows 下守护进程的 pid 必须由**服务进程自己**写(见 `farm/server/__main__.py`),