ec563fc407f4a62bc4b975ff7af7d1783855ee97
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等)
- 足够的磁盘空间
安装步骤
-
上传文件到Web服务器
# 将整个 git 目录上传到Web服务器目录 # 例如:/var/www/html/git/ -
设置目录权限
chmod 755 /var/www/html/git/ chmod 777 /var/www/html/git/uploads/ -
访问工具
http://your-domain.com/git/
使用方法
1. 文件上传
- 拖拽上传:将文件拖拽到上传区域
- 点击上传:点击上传区域选择文件
- 批量上传:支持同时选择多个文件
2. 分支管理
-
查看分支:分支列表会自动加载,显示当前分支和其他分支
-
创建新分支:
- 在"新分支名称"输入框中输入分支名称
- 点击"创建分支"按钮
- 新分支将基于当前分支创建
-
切换分支:
- 在"当前分支"下拉框中选择目标分支
- 点击"切换分支"按钮
- 工具会自动切换到选中的分支
-
删除分支:
- 在"当前分支"下拉框中选择要删除的分支
- 点击"删除分支"按钮
- 确认删除操作(如果分支未合并,可选择强制删除)
-
刷新分支:点击"刷新分支"按钮更新分支列表
3. 远程仓库配置
-
添加远程仓库:
- 在"远程仓库名称"输入框中输入名称(如:origin)
- 在"仓库地址"输入框中输入远程仓库URL(如:https://github.com/username/repo.git)
- 点击"添加远程仓库"按钮
-
查看远程仓库:点击"查看远程仓库"按钮查看已配置的远程仓库列表
4. Git操作
- 添加到暂存区:选择文件后点击"添加到暂存区"
- 提交更改:输入提交信息后点击"提交更改"
- 推送到远程:
- 确保已配置远程仓库
- 选择要推送的分支(在分支管理区域)
- 在"远程仓库名称"输入框中输入要推送的远程仓库名称
- 点击"推送到远程"按钮
- 查看状态:点击"查看状态"查看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"
安全建议
- 访问控制:建议添加密码保护或IP限制
- 文件类型限制:根据需要限制上传文件类型
- 定期清理:定期清理上传目录
- 备份重要数据:重要文件请做好备份
故障排除
常见问题
-
文件上传失败
- 检查
uploads/目录权限 - 确认PHP配置允许大文件上传
- 查看Web服务器错误日志
- 检查
-
Git操作失败
- 确认Git已安装
- 检查Web服务器用户对Git的访问权限
- 确认Git仓库已初始化
-
分支管理问题
- 无法删除当前分支,请先切换到其他分支
- 分支未合并时删除需要强制删除
- 分支名称不能包含特殊字符
-
远程仓库配置问题
- 确保远程仓库URL格式正确
- 检查网络连接是否正常
- 确认有权限访问远程仓库
- 如需要认证,请配置Git凭据
-
推送失败
- 确认远程仓库已正确添加
- 检查是否有冲突需要解决
- 确认有推送权限
- 确认选择了正确的分支进行推送
-
界面显示异常
- 检查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文件上传工具开发团队
支持
如有问题,请通过以下方式联系:
Description
Languages
Batchfile
100%