当前位置: 首页 > ops >正文

Git代码版本管理

安装 Git

  1. 安装 Git

    • Windows:下载 https://git-scm.com 一路 Next。
    • macOS:brew install git 或安装 Xcode Command Line Tools。
    • Linux:sudo apt install git(Ubuntu/Debian)。
  2. 配置全局身份(只需做一次)

    git config --global user.name  "Your Name"
    git config --global user.email "you@example.com"
    
  3. 生成并添加 SSH 公钥(推荐,省掉每次输密码)

    ssh-keygen -t ed25519 -C "you@example.com"   # 一路回车
    cat ~/.ssh/id_ed25519.pub                    # 复制输出
    

    登录 GitHub → Settings → SSH and GPG keys → New SSH key → 粘贴保存。(将cat ~/.ssh/id_ed25519.pub生成的Key复制到github的Key栏中)

在这里插入图片描述

二、场景 A:本地已有项目,首次推到 GitHub

假设你的项目在 ~/myproject 目录。

  1. 进入项目

    cd ~/myproject
    
  2. 初始化本地仓库

    git init
    
  3. 创建 .gitignore(可选但强烈建议)
    可以用 GitHub 官方模板:

    curl -L https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore > .gitignore
    # 或 Python、Java、Go 等,按需替换
    
  4. 添加并提交代码

    git add .
    git commit -m "first commit"
    
  5. 在 GitHub 上新建空仓库

    • 登录 GitHub → 右上角 “+” → New repository
    • Repository name 填 myproject,保持 Public/Private 自选不要勾选 “Initialize this repository with a README”。
    • 创建后页面会给出两段提示,我们选择 “…or push an existing repository from the command line” 里的 SSH 地址,形如
      git@github.com:yourname/myproject.git
  6. 关联远程并推送

    git remote add origin git@github.com:yourname/myproject.git
    git branch -M main          # 把本地默认分支改名为 main
    git push -u origin main     # -u 首次建立追踪关系,以后直接 git push
    

看到 Branch 'main' set up to track remote branch... 即成功。以后本地修改只要:

git add .
git commit -m "xxx"
git push

──────────────────

三、场景 B:从零开始(本地啥也没有,GitHub 先建仓库)

  1. GitHub 新建仓库时可勾选 “Initialize this repository with a README”。
  2. 克隆到本地
    git clone git@github.com:yourname/myproject.git
    cd myproject
    
  3. 接下来正常写代码 → git add .git commit -m "..."git push 即可。

──────────────────

四、常见补充操作

  1. 忽略已提交的文件

    echo "secret.env" >> .gitignore
    git rm --cached secret.env
    git commit -m "stop tracking secret.env"
    
  2. 回退远程提交

    git reset --hard HEAD~1          # 本地回退一次
    git push --force-with-lease      # 安全地强推
    
  3. 同时推送到多个远程(例如 GitHub + Gitee)

    git remote set-url --add origin git@gitee.com:yourname/myproject.git
    git push
    
  4. 使用 HTTPS 而非 SSH
    如果公司网络封锁 22 端口,可使用 HTTPS 地址:

    git remote set-url origin https://github.com/yourname/myproject.git
    

    首次推送时会弹出浏览器窗口让你登录 GitHub 授权,之后可启用 “Git Credential Manager” 保存令牌。

──────────────────
五、图形界面替代方案(可选)

  • GitHub Desktop:官方可视化工具,拖拽即可。
  • VS Code:内置 Source Control 面板,点按钮就能 commit & push。
  • JetBrains 系列:IDE 右侧 Git 面板同样一键操作。

──────────────────
一句话总结
“本地 git initaddcommit → GitHub 建空仓库 → git remote addgit push -u origin main” 就能把任何项目推到 GitHub。

http://www.xdnf.cn/news/17815.html

相关文章:

  • 一文打通 AI 知识脉络:大语言模型等关键内容详解
  • Python基础-数据结构
  • 【部署K8S集群】 1、安装前环境准备配置
  • 重塑工业设备制造格局:明远智睿 T113-i 的破局之道
  • 基于多模型的零售销售预测实战指南
  • Spring IOC容器在Web环境中的启动奥秘:深入源码解析
  • 从 LLM 到自主 Agent:OpenCSG 打造开源 AgenticOps 生态
  • 云原生俱乐部-k8s知识点归纳(4)
  • EhViewer安卓ios全版本类下载安装工具的完整路径解析
  • OpenTelemetry WebSocket 监控终极方案:打通最后一公里
  • TCP传输层协议(4)
  • 攻防世界—fakebook(两种方法)
  • Java集合Map与Stream流:Map实现类特点、遍历方式、Stream流操作及Collections工具类方法
  • 集合车位租售、充电桩共享、二手市场、便民服务的家政服务平台,带源码
  • STM32的PWM
  • Linux网络基础概念
  • NAT 和 PNAT
  • AI提高投放效率的核心策略
  • 使用原生css实现word目录样式,标题后面的...动态长度并始终在标题后方(生成点线)
  • JUC LongAdder并发计数器设计
  • 优先级反转问题
  • 基于阿里云音频识别模型的网页语音识别系统实现
  • Flink中基于时间的合流--双流联结(join)
  • 【Doris】-工具SQLConverter
  • Stagehand深度解析:从开源自动化工具到企业级RPA平台的演进之路
  • VisualStudio2022调试Unity C#代码步骤
  • 第2篇_Go语言基础语法_变量常量与数据类型
  • Android项目中Ktor的引入与使用实践
  • 在 Linux 服务器搭建Coturn即ICE/TURN/STUN实现P2P(点对点)直连
  • 图论Day3学习心得