可以,加入 git clonecprsync 区别后,帖子可以这样发:


今天踩了一个 WSL + GitHub clone 的坑,顺手整理一下。

如果在 WSL 里 git clone GitHub 项目经常超时、断开,比如出现:

RPC failed
Recv failure: Connection timed out
fatal: early EOF

不一定非要硬刚网络。

几个概念先分清:

命令/环境 是什么 适合什么时候用
git clone 从 GitHub/Git 仓库重新下载项目 网络稳定、想拿一份干净仓库
cp 本地普通复制 简单复制一个目录,适合小项目
rsync 更强的本地/远程同步复制工具 适合大项目,可排除 node_modules.nextdist 等目录
WSL Windows 里的 Linux 环境 用来跑 Linux 开发环境,不是复制命令,也不是 Git 命令

简单理解:

git clone 是“重新从网上下载”。
cp 是“直接复制一份”。
rsync 是“更聪明地复制/同步一份”。
WSL 是“运行 Linux 项目的地方”。

如果 Windows 里已经有一份完整项目,更推荐复制到 WSL 自己的 Linux 文件系统里运行,比如:

~/projects/postiz-app

不太建议长期在这种路径里跑项目:

/mnt/c/Users/xxx/Desktop/xxx

虽然能用,但跑 Node 项目时可能会慢,也可能遇到文件监听、权限、依赖兼容问题。

普通复制可以用:

cp -r /mnt/c/Users/Administrator/Desktop/04GitHub/postiz-app-main/postiz-app-main ~/projects/postiz-app

但如果项目里有 node_modules.nextdistbuild 这类依赖或构建产物,更推荐用 rsync 排除掉:

mkdir -p ~/projects

rsync -av \
  --exclude node_modules \
  --exclude .next \
  --exclude dist \
  --exclude build \
  /mnt/c/Users/Administrator/Desktop/04GitHub/postiz-app-main/postiz-app-main/ \
  ~/projects/postiz-app/

注意:源路径最后的 / 很重要,表示复制目录里的内容。

复制完后:

cd ~/projects/postiz-app
git status
pnpm install

只要源目录里有 .git,复制过去后它仍然是一个 Git 仓库。

如果之前失败的 git clone 留下了半截目录,可以确认后删掉:

ls ~/projects/postiz-app
rm -rf ~/projects/postiz-app


GitHub 网络不稳时,不要一直硬 clone。cp 能解决简单复制,rsync 更适合大项目迁移。先把 Windows 现有完整项目复制到 WSL 的 ~/projects,再在 WSL 里安装依赖和运行项目,会稳很多。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐