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

217 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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服务器**
```bash
# 将整个 git 目录上传到Web服务器目录
# 例如:/var/www/html/git/
```
2. **设置目录权限**
```bash
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设置
```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命令
```bash
# 检查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文件上传工具开发团队
## 支持
如有问题,请通过以下方式联系:
- 邮箱support@example.com
- 项目主页https://github.com/your-repo/git-uploader