git仓库管理
多仓库管理与最佳实践操作手册
版本:1.0.0 - 更新时间:2024年11月10日
目录
- 准备工作
- 多仓库配置与管理
- 代码提交与同步策略
- 分支管理最佳实践
- 项目调试与提示词
- 常见问题解决方案
- 完整工作流程示例
准备工作
1. 环境配置
Git安装与配置
# 检查Git是否已安装
git --version# 配置全局用户信息
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"# 配置默认分支名
git config --global init.defaultBranch main# 配置换行符处理(Windows系统推荐)
git config --global core.autocrlf true
SSH密钥生成与配置
# 生成SSH密钥(无需密码保护版本)
ssh-keygen -t ed25519 -C "your.email@example.com"# 查看公钥内容(用于添加到Gitee和GitHub)
cat ~/.ssh/id_ed25519.pub
2. 仓库注册与配置
Gitee仓库配置
- 访问Gitee官网(https://gitee.com)并登录
- 创建新仓库,设置仓库名称和描述
- 重要:设置为公开仓库(private=false)
- 复制SSH地址(如:git@gitee.com:username/repo_name.git)
GitHub仓库配置
- 访问GitHub官网(https://github.com)并登录
- 创建新仓库,设置仓库名称和描述
- 复制SSH地址(如:git@github.com:username/repo_name.git)
多仓库配置与管理
1. 初始化本地仓库
# 进入项目目录
cd d:\05Projects\your_project# 初始化Git仓库
git init# 创建.gitignore文件
2. 添加多个远程仓库
# 添加Gitee远程仓库作为origin
git remote add origin git@gitee.com:username/repo_name.git# 添加GitHub远程仓库命名为github
git remote add github git@github.com:username/repo_name.git# 查看远程仓库配置
git remote -v
3. 配置远程仓库别名(可选)
如果项目需要定期同步多个仓库,可以使用以下别名简化操作:
# 配置推送到所有远程仓库的别名
git config --local alias.push-all '!git push origin main && git push github main'# 配置从所有远程仓库拉取的别名
git config --local alias.pull-all '!git pull origin main && git pull github main'
代码提交与同步策略
1. 标准提交流程
# 查看当前状态
git status# 添加文件到暂存区
git add .# 或添加特定文件
git add "文件路径"# 提交更改(使用语义化提交信息)
git commit -m "type: description"# 推送到Gitee
git push origin main# 推送到GitHub
git push github main# 或使用配置的别名一次性推送到所有仓库
git push-all
2. 语义化提交规范
采用以下格式进行提交,以保证提交历史清晰:
<type>: <description><optional body>
<optional footer>
常用type类型:
feat: 添加新功能fix: 修复bugdocs: 文档更新style: 代码风格调整(不影响功能)refactor: 代码重构test: 测试相关更改chore: 构建过程或辅助工具变动
3. 同步冲突处理
当多个仓库之间出现不同步或冲突时:
# 从Gitee拉取最新代码
git pull origin main --rebase# 从GitHub拉取最新代码
git pull github main --rebase# 解决冲突后标记已解决
git add <conflict_file># 继续rebase
git rebase --continue# 完成后推送到所有仓库
git push-all --force-with-lease
分支管理最佳实践
1. 分支命名规范
main: 主分支,稳定版本develop: 开发分支,整合新功能feature/xxx: 新功能开发分支bugfix/xxx: Bug修复分支hotfix/xxx: 紧急修复分支
2. 分支工作流程
# 从main创建新功能分支
git checkout -b feature/new-feature main# 开发完成后合并到develop
git checkout develop
git merge --no-ff feature/new-feature# 发布前合并到main
git checkout main
git merge --no-ff develop# 推送所有分支到远程仓库
git push --all origin
git push --all github
3. 分支清理策略
# 查看已合并的本地分支
git branch --merged# 删除已合并的本地分支
git branch -d feature/old-feature# 清理远程分支
git push origin --delete feature/old-feature
git push github --delete feature/old-feature
项目调试与提示词
1. 通用调试流程
最佳提示词模板:
我需要调试[具体功能模块],该模块负责[简要说明功能]。
当前遇到的问题是:[详细描述问题现象]
相关代码位置:[文件路径和关键函数]
期望的结果是:[预期行为]
目前的调试步骤:
1. [步骤1]
2. [步骤2]
3. [步骤3]
请提供调试建议或修复方案。
2. 账单处理工具专用提示词
数据清洗问题提示词:
我需要调试账单清洗功能,当前处理[支付宝/微信/京东]账单时出现[具体问题]。
输入文件位于:data/input/[文件名]
错误日志:[错误信息]
相关代码位于:data/clean_[platform]_bill.py
请提供排查方向和可能的修复方案。
飞书上传问题提示词:
我需要调试飞书上传功能,当前在上传[数据类型]到[表格名称]时出现[具体问题]。
配置文件路径:config.py
访问令牌设置:[简要说明设置情况]
错误代码/信息:[错误详情]
相关代码位于:bill_upload_feishu.py
请提供解决思路和可能的修复方法。
3. 性能调优提示词
我需要优化[具体功能]的性能,当前处理[数据量]需要[时间],希望能提升处理速度。
瓶颈位置:[可能的瓶颈点]
相关代码:[关键代码片段]
硬件环境:[简要描述运行环境]
请提供优化建议和实现方案。
常见问题解决方案
1. 认证问题
问题:推送失败,提示认证错误
解决方案:
# 检查SSH连接
echo "Hi there" | ssh -T git@gitee.com
echo "Hi there" | ssh -T git@github.com# 如果配置的是HTTPS,需要更新凭据
# Windows系统可在控制面板-凭据管理器中更新
2. 推送冲突
问题:推送时出现non-fast-forward错误
解决方案:
# 先拉取最新代码
git pull --rebase origin main
# 解决冲突后再推送
git push origin main
3. 换行符问题
问题:文件显示有大量行尾变更
解决方案:
# 配置正确的换行符处理
git config --global core.autocrlf true# 清除缓存重新添加
git rm --cached -r .
git add .
git commit -m "fix: normalize line endings"
4. 大文件上传问题
问题:遇到大文件上传限制
解决方案:
# 检查大文件
git lfs install
git lfs track "*.zip" "*.tar.gz"
git add .gitattributes
完整工作流程示例
场景:新项目初始化并同步到多个仓库
- 初始化与配置
# 进入项目目录
cd d:\05Projects\new_project# 初始化Git仓库
git init# 创建.gitignore文件
echo "__pycache__/
*.pyc
.env
config.py" > .gitignore# 添加并提交基础文件
git add .
git commit -m "init: initial project setup"
- 添加远程仓库
# 添加Gitee远程仓库
git remote add origin git@gitee.com:username/new_project.git# 添加GitHub远程仓库
git remote add github git@github.com:username/new_project.git
- 首次推送
# 推送到Gitee
git push -u origin main# 推送到GitHub
git push -u github main
- 日常开发与同步
# 开发功能...# 添加更改
git add modified_files.py new_file.py# 提交更改
git commit -m "feat: add new feature"# 推送到所有仓库
git push origin main
git push github main
场景:调试完成后同步更新到仓库
- 验证调试结果
# 确保所有测试通过
python -m pytest# 检查代码质量
flake8
- 添加变更并提交
# 添加所有更改
git add .# 提交更改(使用调试相关的提交信息)
git commit -m "fix: resolve [specific bug] after debugging"
- 推送更新到多个仓库
# 推送到Gitee
git push origin main# 推送到GitHub
git push github main
- 记录调试过程
在项目文档中记录调试过程和解决方案,以便未来参考。
本操作手册提供了完整的多仓库管理与项目调试最佳实践指南,遵循这些步骤可以确保代码安全、高效地在多个仓库之间同步,并通过使用提供的提示词模板,快速获取调试支持。
