# vcoder **Repository Path**: chengzi404-byte/vcoder ## Basic Information - **Project Name**: vcoder - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-19 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, Flask, Web ## README # GitServer 一个基于 Flask 的 Git 服务器,支持完整的 Git Push/Pull 操作和类似 GitHub 的前端界面。 ![GitServer Logo](https://img.shields.io/badge/GitServer-Flask-green) ![Python](https://img.shields.io/badge/Python-3.8+-blue) ![License](https://img.shields.io/badge/License-MIT-yellow) ## 功能特性 - **完整的 Git 支持** - Git Push / Pull / Clone 操作 - Smart HTTP 协议 - 裸仓库 (Bare Repository) 支持 - **类似 GitHub 的前端界面** - 现代化的暗色主题界面 - 仓库浏览(文件树、代码查看) - 提交历史和分支管理 - README 显示 - 文件原始内容查看 (Raw) - **用户管理** - 用户注册和登录 - 用户个人资料页面 - 仓库权限管理(公开/私有) - **仓库管理** - 创建和删除仓库 - 仓库设置 - 公开/私有仓库 - 搜索功能 ## 技术栈 - **后端**: Flask, Flask-SQLAlchemy, Flask-Login - **Git 操作**: GitPython - **前端**: HTML5, CSS3, JavaScript, Font Awesome - **数据库**: SQLite (默认,可配置) ## 快速开始 ### 1. 安装依赖 ```bash cd flask-git-server pip install -r requirements.txt ``` ### 2. 配置环境变量 (可选) ```bash cp .env.example .env # 编辑 .env 文件设置你的配置 ``` ### 3. 运行服务器 ```bash python run.py ``` 服务器将启动在 `http://localhost:5000` ### 4. 访问应用 - **Web 界面**: http://localhost:5000 - **Git 操作**: http://localhost:5000/username/repo.git 默认管理员账号: - 用户名: `admin` - 密码: `admin123` ## 使用 Git ### 克隆仓库 ```bash git clone http://localhost:5000/username/repo.git ``` ### 推送代码 ```bash git add . git commit -m "Initial commit" git push -u origin main ``` ### 拉取更新 ```bash git pull ``` ## 项目结构 ``` flask-git-server/ ├── app/ │ ├── __init__.py # Flask 应用工厂 │ ├── config.py # 配置 │ ├── models/ # 数据库模型 │ │ └── __init__.py │ ├── services/ # 业务逻辑 │ │ ├── git_server.py # Git HTTP 服务器 │ │ └── repo_manager.py # 仓库管理 │ ├── static/ # 静态文件 │ │ ├── css/ │ │ │ └── style.css │ │ └── js/ │ │ └── main.js │ ├── templates/ # HTML 模板 │ │ ├── base.html │ │ ├── index.html │ │ ├── auth/ │ │ ├── repo/ │ │ └── user/ │ ├── utils/ # 工具函数 │ │ └── auth.py │ └── views/ # 路由 │ ├── main.py │ ├── auth.py │ ├── repo.py │ └── user.py ├── repos/ # 仓库存储目录 ├── requirements.txt ├── run.py # 入口文件 └── README.md ``` ## 配置选项 在 `.env` 文件中可以配置以下选项: ```env # 基础配置 SECRET_KEY=your-secret-key DEBUG=True SERVER_HOST=0.0.0.0 SERVER_PORT=5000 # 数据库 DATABASE_URL=sqlite:///gitserver.db # 仓库存储 REPOSITORIES_ROOT=./repos DEFAULT_BRANCH=main # Git 设置 GIT_RECEIVE_PACK=True GIT_UPLOAD_PACK=True ``` ## 截图 ### 首页 展示热门仓库和平台介绍。 ### 仓库页面 查看仓库文件、提交历史和分支。 ### 代码浏览 支持语法高亮和文件树导航。 ## API 端点 ### Git HTTP 端点 - `GET //info/refs?service=git-upload-pack` - 获取 refs (克隆/拉取) - `POST //git-upload-pack` - 上传包 (拉取) - `POST //git-receive-pack` - 接收包 (推送) ### Web 端点 - `/` - 首页 - `/explore` - 探索仓库 - `/search` - 搜索仓库 - `/new` - 创建新仓库 - `//` - 仓库主页 - `///tree/` - 文件树 - `///blob/` - 文件内容 - `///commits` - 提交历史 - `///branches` - 分支列表 - `/user/` - 用户资料 - `/auth/login` - 登录 - `/auth/register` - 注册 ## 贡献 欢迎提交 Issue 和 Pull Request! ## 许可证 MIT License ## 致谢 - [Flask](https://flask.palletsprojects.com/) - [GitPython](https://gitpython.readthedocs.io/) - [Font Awesome](https://fontawesome.com/)