通过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 分支名(创建并切换)

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

相关推荐
NocoBase8 小时前
【2.0 教程】第 1 章:认识 NocoBase ,5 分钟跑起来
数据库·人工智能·开源·github·无代码
量子位13 小时前
字节版龙虾架构火爆GitHub!开源获35k+ Star,内置Skill全家桶,原生适配飞书
github·ai编程
悠然大月季13 小时前
git 怎么导出提交历史,文件是乱码
git·git导出历史记录·git导出历史乱码
chenshiming80215 小时前
在cursor下执行GIT回退版本
git
汪海游龙17 小时前
开源项目 Trending AI 招募 Google Play 内测人员(12 名)
android·github
HealthScience18 小时前
github怎么授权ssh(私人库授权)
运维·ssh·github
打点计时器18 小时前
Git快速上手教程
git
我才是一卓19 小时前
linux 安装简易 git 服务端并使用
linux·运维·git
CoderJia程序员甲19 小时前
GitHub 热榜项目 - 日榜(2026-03-22)
人工智能·ai·大模型·github·ai教程