全新 Python 项目托管到 Gitee 私有仓库完整流程(带详细命令注释)
详细流程
#!/bin/bash# ======================
# 第一阶段:项目初始化
# ======================# 创建项目目录(my-project替换为你的项目名称)
mkdir my-project
# 进入项目目录
cd my-project# 创建基础项目结构(Python标准结构)
touch README.md # 项目说明文档
touch requirements.txt # Python依赖清单
touch setup.py # 打包安装配置文件
touch .gitignore # Git忽略规则文件
touch .gitee-ci.yml # Gitee CI配置文件# 创建源代码和测试目录
mkdir src # 源代码目录
mkdir tests # 测试代码目录
mkdir docs # 文档目录# 在src目录中创建主程序文件
touch src/__init__.py # Python包标识文件
touch src/main.py # 程序入口文件# 在tests目录中创建测试文件
touch tests/__init__.py # 测试包标识
touch tests/test_main.py # 主程序测试# ===========================
# 第二阶段:编写基础内容
# ===========================# 填充基础README内容(在真实环境中需编辑文件内容)
echo "# My Project" > README.md
echo "> 项目简要描述" >> README.md
echo "## 功能特性" >> README.md
echo "- 功能1" >> README.md
echo "- 功能2" >> README.md
echo "## 快速开始" >> README.md
echo "\`\`\`bash" >> README.md
echo "pip install -r requirements.txt" >> README.md
echo "python src/main.py" >> README.md
echo "\`\`\`" >> README.md# 创建Python专用.gitignore文件
cat > .gitignore << EOF
# Python
__pycache__/
*.pyc
*.pyo
*.pyd
.python-version# 虚拟环境
.venv/
venv/
env/# IDE配置
.vscode/
.idea/
*.code-workspace# 系统文件
.DS_Store
Thumbs.db# 构建产物
dist/
build/
*.egg-info/
EOF# ============================
# 第三阶段:初始化Git仓库
# ============================# 初始化当前目录为Git仓库
git init# 配置全局用户信息(已配置可跳过)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"# 将当前所有文件添加到暂存区
git add .# 提交初始版本
git commit -m "初始化项目结构"
# -m参数:添加提交信息# ================================
# 第四阶段:创建Gitee私有仓库
# ================================# 网页端操作(无法命令行直接创建私有仓库):
# 1. 访问 https://gitee.com
# 2. 登录后点击右上角 "+" -> "新建仓库"
# 3. 填写仓库信息:
# - 仓库名称: my-project
# - 路径: 按默认值
# - 选择 "私有" 仓库
# - 不勾选任何初始化选项(避免冲突)
# - 启用分支模型(推荐master+develop)
# 4. 点击"创建仓库"# =================================
# 第五阶段:关联远程仓库并推送
# =================================# 添加远程仓库地址(替换your-username为你的Gitee用户名)
git remote add origin https://gitee.com/your-username/my-project.git
# remote add:添加远程仓库
# origin:远程仓库的默认名称# 创建并切换到develop分支(推荐的工作分支)
git checkout -b develop
# checkout -b:创建新分支并切换到该分支# 将当前目录下所有文件添加到暂存区
git add .# 推送本地代码到远程仓库(首次推送-u参数设置上游分支)
git push -u origin develop
# push:将本地提交推送到远程
# -u:设置上游分支,后续可直接使用git push
# origin develop:推送到origin远程的develop分支# =================================
# 第六阶段:创建保护分支
# =================================# 创建master分支(用于稳定版本)
git checkout -b master
git add .
git push origin master# 网页端设置(代码推送到Gitee后操作):
# 1. 进入仓库 -> "管理" -> "分支管理"
# 2. 点击"保护分支设置"
# 3. 为master分支设置:
# ✔️ 分支保护
# ✔️ 禁止强制推送
# ✔️ 需Pull Request合并
# ✔️ 需代码审核(设置最少审核人数1)
# 4. 同样保护develop分支(可不设审核人数)
# 5. 点击"保存"# =================================
# 第七阶段:配置开发工作流
# =================================# 切换到开发分支
git checkout develop# 创建一个功能分支(示例:用户认证模块)
git checkout -b feature/user-auth
# -b:创建并切换到新分支# [进行开发工作...]
# 修改src/main.py等文件# 添加开发完成的功能
git add src/main.py# 提交变更
git commit -m "添加用户认证模块"# 推送功能分支到远程
git push origin feature/user-auth# =================================
# 第八阶段:发起Pull Request
# =================================# 网页端操作:
# 1. 进入仓库 -> "Pull Requests" -> "新建"
# 2. 设置:
# - 源分支: feature/user-auth
# - 目标分支: develop
# - 填写PR标题和描述
# - 勾选"合并后删除源分支"
# - 添加审核人(若有团队成员)
# 3. 点击"创建 Pull Request"# ================================
# 第九阶段:合并与部署
# ================================# 审核通过后维护者合并PR(网页端操作)
# 合并后自动删除feature分支# 更新本地develop分支
git checkout develop
git pull origin develop
# pull:拉取远程更新并合并到本地分支# ================================
# 可选:CI/CD配置
# ================================# 启用Gitee CI(网页端):
# 1. 进入仓库 -> "服务" -> "Gitee Go"
# 2. 点击"立即使用"# 配置.gitee-ci.yml(已在初始创建)
cat > .gitee-ci.yml << EOF
image: python:3.10stages:- testbefore_script:- python -m pip install --upgrade pip- pip install -r requirements.txtunit_test:stage: testscript:- python -m pytest tests/
EOF
关键步骤说明
目录结构设计:
src/
:存放所有源代码(符合Python包结构)tests/
:测试代码与主代码分离docs/
:独立文档目录(可用Sphinx生成)requirements.txt
:明确项目依赖setup.py
:支持打包分发
Git工作流:
# 标准开发流程 git checkout develop # 切换到开发主分支 git pull # 拉取最新代码 git checkout -b feature/xxx # 创建功能分支 # ... 开发工作 ... git add . # 添加更改 git commit -m "feat: xxx" # 提交功能 git push origin feature/xxx # 推送到远程 # 创建Pull Request → 审核 → 合并
分支管理策略:
master
:生产环境稳定版本(仅通过PR合并)develop
:开发主分支(功能合并目标)feature/*
:短期功能开发分支(合并后删除)hotfix/*
:紧急修复分支(从master创建)
首次推送后必做:
- 在Gitee仓库设置中启用分支保护
- 配置团队协作权限(仓库管理 → 仓库成员)
- 开启Gitee Go持续集成服务
- 添加项目徽章(README展示构建状态)
项目启动
# 创建虚拟环境 python -m venv .venv # 激活(Linux/macOS) source .venv/bin/activate # 激活(Windows) .\.venv\Scripts\activate # 安装依赖 pip install -r requirements.txt