You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行git pull时服务器.env文件被覆盖,如何阻止该文件变更?

解决Git Pull覆盖已加入.gitignore的.env文件问题

你的问题核心是已被Git跟踪的文件不受.gitignore规则约束——虽然你把.env加进了.gitignore,但如果这个文件之前已经被提交并推送到远程仓库,pull时远程版本就会覆盖服务器本地的文件。另外注意你的.gitignore用了中文逗号分隔规则,这是无效的,每个规则必须单独占一行。

排查与解决步骤:

  1. 确认.env是否已被仓库跟踪
    在本地仓库执行命令:

    git log --oneline -- .env
    

    如果输出提交记录,说明该文件确实已被推送到远程仓库。

  2. 备份服务器上的.env文件
    先把当前服务器的.env复制到安全位置,防止配置丢失。

  3. 移除仓库对.env的跟踪(保留本地文件)
    在本地仓库执行:

    git rm --cached .env
    

    这个命令只会从Git的跟踪列表中移除文件,不会删除本地的.env。

  4. 修正.gitignore格式
    把你的.gitignore修改为每行一个规则,确保内容如下:

    .env
    .env.example
    .env.prod
    node_modules
    
  5. 提交并推送变更

    git add .gitignore
    git commit -m "Stop tracking .env file"
    git push origin v2.0
    
  6. 服务器重新拉取
    回到服务器执行git pull origin v2.0,之后你的.env文件就不会再被pull操作覆盖了。

后续注意事项:

  • 通知团队其他成员同步这个变更,避免有人再次将.env提交到仓库。
  • 新增环境配置文件时,先添加到.gitignore再创建文件,确保文件一开始就不被Git跟踪。

内容的提问来源于stack exchange,提问作者tantanrahman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 07:52:32