Skip to content

把代码放在 GitHub 上,会被别人乱改吗?

很多初学者把项目开源(Public)时,都会有这个担忧:“我的代码大家都看得见,会不会有坏人把它改了,或者把我删库了?”

简短的回答:绝对不会。

1. 为什么它是安全的?

只有你能改 (Write Access)

虽然你的仓库是 Public(公开) 的,这只意味着别人有 “读权限” (Read Access)

  • 任何人 都可以查看你的代码、下载你的项目。
  • 只有你(以及你明确邀请的协作者)才有权 推送到仓库 (Push)合并代码

这就好比你在广场上贴了一张海报:大家都能看,但只有你可以拿着笔在上面写字。

别人的修改流程 (Pull Request)

如果真的有人想帮你的博客改个错别字,或者加个功能,他必须遵循以下流程:

  1. Fork:他先把你的仓库复制一份到他自己的账号下。
  2. Edit:他在他自己的仓库里修改。
  3. Pull Request (PR):他向你发起一个“请求”,请求把他的修改合并到你的仓库里。
  4. Audit:你会收到通知。你可以查看他改了什么。
    • 如果你觉得好,点击 Merge,他的代码才会进入你的仓库。
    • 如果你觉得不好,直接 Close,他的修改对你毫无影响。

2. 真正需要注意的安全问题

虽然代码本身不会被乱改,但有一种情况会导致所有权被盗用

⚠️ 严禁上传密钥 (Secrets)

这是开源项目最大的安全隐患。千万不要把密码、Token、私钥直接写在代码文件里上传!

比如,我们在配置 TinaCMS 时,需要用到 TINA_TOKEN

  • 错误做法:直接写在 config.ts 里。

    ts
    token: "my-secret-token-12345" // 别人看到了就能控制你的 CMS!
  • 正确做法:使用环境变量。

    ts
    token: process.env.TINA_TOKEN // 代码里只写变量名

    真实的 Token 值应该配置在 Local(本地 .env 文件,且已 gitignore)GitHub Settings (Secrets) 里。

总结

  • Public 仓库:代码公开可见,但修改权在你手里。非常安全。
  • Private 仓库:代码完全保密,别人连看都看不到。(如果是存放商业秘密或日记,可以选这个)。
  • 核心原则:代码可以公开,密钥 (Token/Password) 必须私藏。

Released under the MIT License.