Files
Demo1/README.md
2025-11-15 17:37:48 +08:00

6.0 KiB
Raw Blame History

Git文件上传工具

一个基于PHP的Git文件上传工具支持JS和CSS分离文件上传无限制。

功能特点

  • 文件上传无限制:支持任意大小和数量的文件上传
  • Git集成完整的Git操作支持添加、提交、推送、状态查看
  • 分支管理:支持创建、删除、切换分支
  • 远程仓库配置:支持添加和管理多个远程仓库
  • 前后端分离独立的CSS和JavaScript文件
  • 拖拽上传:支持拖拽文件上传
  • 文件管理:可视化的文件列表和选择
  • 实时状态Git仓库状态实时显示
  • 响应式设计:适配移动端和桌面端

文件结构

git/
├── index.php          # 主文件包含PHP后端逻辑和HTML结构
├── css/
│   └── style.css      # 样式文件
├── js/
│   └── main.js        # JavaScript交互逻辑
├── test.php           # 测试文件
└── uploads/           # 上传文件存储目录(自动生成)

安装要求

  • PHP 7.0 或更高版本
  • Git 已安装并配置
  • Web服务器Apache/Nginx等
  • 足够的磁盘空间

安装步骤

  1. 上传文件到Web服务器

    # 将整个 git 目录上传到Web服务器目录
    # 例如:/var/www/html/git/
    
  2. 设置目录权限

    chmod 755 /var/www/html/git/
    chmod 777 /var/www/html/git/uploads/
    
  3. 访问工具

    http://your-domain.com/git/
    

使用方法

1. 文件上传

  • 拖拽上传:将文件拖拽到上传区域
  • 点击上传:点击上传区域选择文件
  • 批量上传:支持同时选择多个文件

2. 分支管理

  • 查看分支:分支列表会自动加载,显示当前分支和其他分支

  • 创建新分支

    1. 在"新分支名称"输入框中输入分支名称
    2. 点击"创建分支"按钮
    3. 新分支将基于当前分支创建
  • 切换分支

    1. 在"当前分支"下拉框中选择目标分支
    2. 点击"切换分支"按钮
    3. 工具会自动切换到选中的分支
  • 删除分支

    1. 在"当前分支"下拉框中选择要删除的分支
    2. 点击"删除分支"按钮
    3. 确认删除操作(如果分支未合并,可选择强制删除)
  • 刷新分支:点击"刷新分支"按钮更新分支列表

3. 远程仓库配置

  • 添加远程仓库

    1. 在"远程仓库名称"输入框中输入名称origin
    2. 在"仓库地址"输入框中输入远程仓库URLhttps://github.com/username/repo.git
    3. 点击"添加远程仓库"按钮
  • 查看远程仓库:点击"查看远程仓库"按钮查看已配置的远程仓库列表

4. Git操作

  • 添加到暂存区:选择文件后点击"添加到暂存区"
  • 提交更改:输入提交信息后点击"提交更改"
  • 推送到远程
    1. 确保已配置远程仓库
    2. 选择要推送的分支(在分支管理区域)
    3. 在"远程仓库名称"输入框中输入要推送的远程仓库名称
    4. 点击"推送到远程"按钮
  • 查看状态:点击"查看状态"查看Git状态
  • 查看日志:点击"查看日志"查看提交历史

5. 文件管理

  • 刷新列表:点击"刷新文件列表"更新文件列表
  • 选择文件勾选需要Git管理的文件
  • 全选/取消:快速选择或取消所有文件

配置说明

PHP配置

工具会自动配置以下PHP设置

ini_set('upload_max_filesize', '0');     // 无上传大小限制
ini_set('post_max_size', '0');           // 无POST大小限制
ini_set('max_execution_time', '0');      // 无执行时间限制
ini_set('memory_limit', '-1');           // 无内存限制

Git配置

确保Web服务器用户有权限执行Git命令

# 检查Git是否可用
sudo -u www-data git --version

# 如果需要配置Git用户信息
sudo -u www-data git config --global user.name "Web Server"
sudo -u www-data git config --global user.email "web@example.com"

安全建议

  1. 访问控制建议添加密码保护或IP限制
  2. 文件类型限制:根据需要限制上传文件类型
  3. 定期清理:定期清理上传目录
  4. 备份重要数据:重要文件请做好备份

故障排除

常见问题

  1. 文件上传失败

    • 检查 uploads/ 目录权限
    • 确认PHP配置允许大文件上传
    • 查看Web服务器错误日志
  2. Git操作失败

    • 确认Git已安装
    • 检查Web服务器用户对Git的访问权限
    • 确认Git仓库已初始化
  3. 分支管理问题

    • 无法删除当前分支,请先切换到其他分支
    • 分支未合并时删除需要强制删除
    • 分支名称不能包含特殊字符
  4. 远程仓库配置问题

    • 确保远程仓库URL格式正确
    • 检查网络连接是否正常
    • 确认有权限访问远程仓库
    • 如需要认证请配置Git凭据
  5. 推送失败

    • 确认远程仓库已正确添加
    • 检查是否有冲突需要解决
    • 确认有推送权限
    • 确认选择了正确的分支进行推送
  6. 界面显示异常

    • 检查CSS文件是否正确加载
    • 确认JavaScript文件无错误
    • 清除浏览器缓存

运行测试

访问测试文件检查配置:

http://your-domain.com/git/test.php

更新日志

v1.2.0 (2024-01-15)

  • 添加分支管理功能
  • 支持创建、删除、切换分支
  • 支持分支选择和推送
  • 优化分支操作的用户体验

v1.1.0 (2024-01-15)

  • 添加远程仓库配置功能
  • 支持添加和管理远程仓库
  • 支持推送到指定远程仓库
  • 优化推送操作的用户体验

v1.0.0 (2024-01-15)

  • 初始版本发布
  • 支持文件上传和Git操作
  • 实现前后端分离
  • 添加拖拽上传功能

许可证

MIT License - 详见LICENSE文件

作者

Git文件上传工具开发团队

支持

如有问题,请通过以下方式联系: