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

Laravel项目文件全部重复,无法推送到GitHub求解决办法

Laravel项目文件重复无法推送到GitHub的解决方法

一、先定位重复根源

打开项目根目录的终端,执行命令查看目录结构:

  • Mac/Linux:ls -la
  • Windows(CMD):dir
  • Windows(PowerShell):Get-ChildItem

大概率是项目被嵌套复制(比如根目录下多了一层和项目同名的文件夹,里面是完整的项目文件),或是每个文件都生成了带后缀的副本(如file(1).php)。

二、批量删除重复文件

情况1:嵌套文件夹导致的全量重复

  1. 先把Git版本记录移到安全位置,避免误删:
    # Mac/Linux
    mv .git ../temp-git
    # Windows PowerShell
    Move-Item .git ../temp-git
    
  2. 删除嵌套的重复文件夹(假设嵌套文件夹名为laravel-project):
    # Mac/Linux
    rm -rf laravel-project
    # Windows CMD
    rmdir /s laravel-project
    # Windows PowerShell
    Remove-Item laravel-project -Recurse -Force
    
  3. 把Git版本记录移回项目根目录:
    # Mac/Linux
    mv ../temp-git .git
    # Windows PowerShell
    Move-Item ../temp-git .git
    

情况2:单个文件带后缀的副本重复

根据副本的命名规则批量删除:

  • 如果副本文件名带(1):
    # Mac/Linux
    find . -type f -name "*\(1\)*" -delete
    # Windows PowerShell
    Get-ChildItem -Recurse -Filter "*`(1`)*" | Remove-Item -Force
    
  • 如果副本带其他后缀(如_copy),把命令里的*(1)*改成*_copy*即可。

三、修复Git状态并推送

  1. 暂存所有删除变更:
    git add -A
    
  2. 提交变更:
    git commit -m "fix: 删除重复文件"
    
  3. 尝试正常推送:
    git push
    
  4. 如果提示推送失败(本地与远程差异过大),单人项目可使用强制推送(多人协作项目谨慎使用):
    git push -f
    

四、后续预防

  • 检查.gitignore文件,确保已包含vendor/、node_modules/、.env等无需提交的文件,减少不必要的文件体积。
  • 操作项目时避免将整个项目文件夹复制到当前项目根目录内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 09:45:34