通过git上传项目到码云和GitHub操作手册
项目上传码云和GitHub操作手册
版本:1.0.1 - 更新时间:2024年11月10日
一、准备工作
1.1 本地项目配置
-
初始化Git仓库(如果尚未初始化)
cd 项目路径 git init -
创建.gitignore文件(建议包含)
# Python __pycache__/ *.py[cod] *$py.class *.so# 环境变量 .env *.env config.py# IDE .idea/ .vscode/ *.suo *.ntvs* *.njsproj *.sln# 操作系统 .DS_Store Thumbs.db# 日志和数据 logs/ *.log data/input/ data/output/ -
添加项目文件并提交
git add . git commit -m "初始化项目" # 或使用更有描述性的提交信息
二、上传到码云(Gitee)
2.1 使用MCP工具创建公有的Gitee仓库
-
调用create_user_repo工具
- 服务器名称:mcp.config.usrlocalmcp.gitee
- 工具名称:create_user_repo
- 参数:
- name: 仓库名称(如:bill_cleaner_upload)
- description: 仓库描述(如:账单清洗处理工具项目)
- private: false # 关键设置,确保仓库是公开的
- auto_init: true
-
验证仓库是否创建成功
- 检查返回结果中的仓库信息
- 特别注意:确保
private字段值为false
2.2 本地Git配置与推送
-
添加Gitee远程仓库
# 先移除可能已存在的同名远程仓库 git remote remove gitee 2>$null# 添加SSH协议的远程仓库(推荐,避免认证问题) git remote add gitee git@gitee.com:用户名/仓库名.git -
SSH密钥配置(推荐方法,避免频繁认证)
- 生成SSH密钥(如果尚未生成)
ssh-keygen -t rsa -C "你的邮箱地址" - 将公钥添加到Gitee账户
- 打开
~/.ssh/id_rsa.pub(Windows在C:\Users\用户名\.ssh\) - 复制内容到Gitee -> 设置 -> SSH公钥
- 打开
- 生成SSH密钥(如果尚未生成)
-
推送代码到Gitee
# 推送并设置上游分支 git push -u gitee main -
常见问题解决
- 认证失败问题:使用SSH协议替代HTTPS协议
- 仓库已存在错误:更换仓库名称或使用已存在的仓库
- 权限不足错误:确认SSH密钥配置正确或使用HTTPS时输入正确的用户名和密码
三、上传到GitHub
3.1 创建GitHub仓库
-
使用MCP工具创建公有GitHub仓库
- 服务器名称:mcp.config.usrlocalmcp.GitHub
- 工具名称:create_repository
- 参数:
- name: 仓库名称(如:bill_cleaner_upload)
- description: 仓库描述
- private: false # 确保仓库是公开的
- auto_init: true
-
或者手动在GitHub网站创建
- 访问GitHub网站
- 点击"New repository"
- 填写仓库信息,确保选择"Public"
3.2 本地Git配置与推送
-
添加GitHub远程仓库
# 添加SSH协议的远程仓库 git remote add github git@github.com:用户名/仓库名.git -
推送代码到GitHub
# 推送代码 git push -u github main
四、同步管理策略
4.1 推送到多个远程仓库
-
添加两个远程仓库
git remote add gitee git@gitee.com:用户名/仓库名.git git remote add github git@github.com:用户名/仓库名.git -
分别推送更新
git push gitee main git push github main -
设置统一推送(可选)
# 创建一个可同时推送到多个仓库的远程 git remote add all git@gitee.com:用户名/仓库名.git git remote set-url --add --push all git@gitee.com:用户名/仓库名.git git remote set-url --add --push all git@github.com:用户名/仓库名.git# 一键推送 git push all main
五、经验总结与最佳实践
5.1 SSH协议 vs HTTPS协议
-
推荐使用SSH协议:
- 避免每次推送都需要输入用户名和密码
- 提高安全性
- 解决代理环境下的连接问题
-
配置要点:
- 正确生成并配置SSH密钥
- 确保公钥已添加到代码托管平台
- 测试SSH连接:
# 测试Gitee连接 ssh -T git@gitee.com# 测试GitHub连接 ssh -T git@github.com
5.2 常见错误及解决方案
-
认证失败
- 检查SSH密钥是否正确配置
- 尝试使用HTTPS协议时确保凭证正确
- 清除Git凭证缓存后重试
-
远程仓库已存在
- 使用已存在的仓库地址
- 为新项目选择不同的名称
-
分支不存在
- 确保本地分支名称正确(main或master)
- 使用
-u参数设置上游分支
-
权限问题
- 确认用户对仓库有写入权限
- 检查团队协作设置
5.3 公开仓库设置检查
- 创建时确认:始终在创建时将
private参数设置为false - 后续检查:在Gitee/GitHub网页端确认仓库可见性设置
- 修改方法:在仓库设置中修改可见性为"公开"
六、完整流程示例
6.1 新项目上传完整步骤
-
本地准备
cd 项目目录 git init # 创建.gitignore文件 git add . git commit -m "初始化项目" -
创建Gitee公开仓库(使用MCP)
- 设置参数:private=false
-
创建GitHub公开仓库(使用MCP)
- 设置参数:private=false
-
配置远程并推送
# 添加远程仓库 git remote add gitee git@gitee.com:用户名/仓库名.git git remote add github git@github.com:用户名/仓库名.git# 推送代码 git push -u gitee main git push -u github main
6.2 项目更新与同步
# 日常开发
git add 更改的文件
git commit -m "更新内容描述"# 推送到所有远程仓库
git push gitee main
git push github main
七、安全注意事项
- 确保不将敏感信息(如API密钥、密码)提交到公开仓库
- 使用
.gitignore文件排除敏感配置文件 - 考虑使用环境变量管理敏感信息
- 定期更新SSH密钥以提高安全性
附录:Git常用命令速查
- 查看状态:
git status - 添加文件:
git add 文件路径或git add . - 提交更改:
git commit -m "提交信息" - 查看远程:
git remote -v - 拉取更新:
git pull 远程名 分支名 - 推送更新:
git push 远程名 分支名 - 查看日志:
git log - 撤销修改:
git checkout -- 文件路径 - 分支操作:
git branch(查看)、git checkout -b 分支名(创建并切换)
本文档基于实际操作经验总结,如有变动请以最新官方文档为准。
