通过git上传项目到码云和GitHub操作手册

项目上传码云和GitHub操作手册

版本:1.0.1 - 更新时间:2024年11月10日

一、准备工作

1.1 本地项目配置

  1. 初始化Git仓库(如果尚未初始化)

    bash 复制代码
    cd 项目路径
    git init
  2. 创建.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/
  3. 添加项目文件并提交

    bash 复制代码
    git add .
    git commit -m "初始化项目"  # 或使用更有描述性的提交信息

二、上传到码云(Gitee)

2.1 使用MCP工具创建公有的Gitee仓库

  1. 调用create_user_repo工具

    • 服务器名称:mcp.config.usrlocalmcp.gitee
    • 工具名称:create_user_repo
    • 参数:
      • name: 仓库名称(如:bill_cleaner_upload)
      • description: 仓库描述(如:账单清洗处理工具项目)
      • private: false # 关键设置,确保仓库是公开的
      • auto_init: true
  2. 验证仓库是否创建成功

    • 检查返回结果中的仓库信息
    • 特别注意:确保private字段值为false

2.2 本地Git配置与推送

  1. 添加Gitee远程仓库

    bash 复制代码
    # 先移除可能已存在的同名远程仓库
    git remote remove gitee 2>$null
    
    # 添加SSH协议的远程仓库(推荐,避免认证问题)
    git remote add gitee git@gitee.com:用户名/仓库名.git
  2. SSH密钥配置(推荐方法,避免频繁认证)

    • 生成SSH密钥(如果尚未生成)

      bash 复制代码
      ssh-keygen -t rsa -C "你的邮箱地址"
    • 将公钥添加到Gitee账户

      • 打开~/.ssh/id_rsa.pub(Windows在C:\Users\用户名\.ssh\
      • 复制内容到Gitee -> 设置 -> SSH公钥
  3. 推送代码到Gitee

    bash 复制代码
    # 推送并设置上游分支
    git push -u gitee main
  4. 常见问题解决

    • 认证失败问题:使用SSH协议替代HTTPS协议
    • 仓库已存在错误:更换仓库名称或使用已存在的仓库
    • 权限不足错误:确认SSH密钥配置正确或使用HTTPS时输入正确的用户名和密码

三、上传到GitHub

3.1 创建GitHub仓库

  1. 使用MCP工具创建公有GitHub仓库

    • 服务器名称:mcp.config.usrlocalmcp.GitHub
    • 工具名称:create_repository
    • 参数:
      • name: 仓库名称(如:bill_cleaner_upload)
      • description: 仓库描述
      • private: false # 确保仓库是公开的
      • auto_init: true
  2. 或者手动在GitHub网站创建

    • 访问GitHub网站
    • 点击"New repository"
    • 填写仓库信息,确保选择"Public"

3.2 本地Git配置与推送

  1. 添加GitHub远程仓库

    bash 复制代码
    # 添加SSH协议的远程仓库
    git remote add github git@github.com:用户名/仓库名.git
  2. 推送代码到GitHub

    bash 复制代码
    # 推送代码
    git push -u github main

四、同步管理策略

4.1 推送到多个远程仓库

  1. 添加两个远程仓库

    bash 复制代码
    git remote add gitee git@gitee.com:用户名/仓库名.git
    git remote add github git@github.com:用户名/仓库名.git
  2. 分别推送更新

    bash 复制代码
    git push gitee main
    git push github main
  3. 设置统一推送(可选)

    bash 复制代码
    # 创建一个可同时推送到多个仓库的远程
    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连接:

      bash 复制代码
      # 测试Gitee连接
      ssh -T git@gitee.com
      
      # 测试GitHub连接
      ssh -T git@github.com

5.2 常见错误及解决方案

  1. 认证失败

    • 检查SSH密钥是否正确配置
    • 尝试使用HTTPS协议时确保凭证正确
    • 清除Git凭证缓存后重试
  2. 远程仓库已存在

    • 使用已存在的仓库地址
    • 为新项目选择不同的名称
  3. 分支不存在

    • 确保本地分支名称正确(main或master)
    • 使用-u参数设置上游分支
  4. 权限问题

    • 确认用户对仓库有写入权限
    • 检查团队协作设置

5.3 公开仓库设置检查

  • 创建时确认 :始终在创建时将private参数设置为false
  • 后续检查:在Gitee/GitHub网页端确认仓库可见性设置
  • 修改方法:在仓库设置中修改可见性为"公开"

六、完整流程示例

6.1 新项目上传完整步骤

  1. 本地准备

    bash 复制代码
    cd 项目目录
    git init
    # 创建.gitignore文件
    git add .
    git commit -m "初始化项目"
  2. 创建Gitee公开仓库(使用MCP)

    • 设置参数:private=false
  3. 创建GitHub公开仓库(使用MCP)

    • 设置参数:private=false
  4. 配置远程并推送

    bash 复制代码
    # 添加远程仓库
    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 项目更新与同步

bash 复制代码
# 日常开发
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 分支名(创建并切换)

本文档基于实际操作经验总结,如有变动请以最新官方文档为准。

相关推荐
songyuc4 小时前
【Git】请帮忙解释一下“git reset”
git·elasticsearch
AI分享猿5 小时前
雷池 WAF 免费版实测:企业用 Apache 搭环境,护住跨境电商平台
web安全·github·apache
whysqwhw7 小时前
kotlin-4
github
whysqwhw7 小时前
kotlin-3
github
whysqwhw7 小时前
kotlin-1
github
whysqwhw7 小时前
kotlin-2
github
Komorebi_99998 小时前
使用Git创建自己的分支的操作指南
git
CoderJia程序员甲9 小时前
GitHub 热榜项目 - 日榜(2025-11-09)
github
labview_自动化9 小时前
GitHub笔记
笔记·github