Git 命令入门指南:从零掌握代码版本管理

Git 作为分布式版本控制系统,是开发者日常协作与代码管理的核心工具。本文基于多篇开发者社区及官方文档的总结,整理了 最常用且必备的 Git 命令,助你快速上手。


一、环境配置与仓库初始化

  1. 用户身份标识
    每次提交代码时,Git 需要记录操作者信息:

    1
    2
    3
    git config --global user.name "YourName"  # 设置全局用户名
    git config --global user.email "email@example.com" # 设置全局邮箱
    git config --list # 查看所有配置项
  2. SSH Key 生成(远程仓库连接必备)
    用于免密推送代码到 GitHub/GitLab 等平台:

    1
    ssh-keygen -t rsa -C "your_email@example.com"  # 生成密钥对
  3. 创建仓库

    • 本地初始化:git init(生成隐藏的 .git 目录)
    • 克隆远程仓库:git clone https://github.com/xxx/xxx.git

二、日常开发核心操作

  1. 代码提交流程

    1
    2
    3
    4
    git add .                # 添加所有修改到暂存区
    git commit -m "功能描述" # 提交到本地仓库
    git status # 查看文件状态(红/绿色提示)
    git log --oneline # 查看精简版提交历史
  2. 分支管理

    • 创建与切换:
      1
      2
      3
      git branch dev          # 创建分支
      git checkout dev # 切换分支(旧版)
      git switch -c dev # 新版推荐命令
    • 合并与冲突解决:
      1
      2
      git merge dev          # 将 dev 分支合并到当前分支
      # 合并冲突后,手动修改文件 → git add → git commit
  3. 远程仓库交互

    1
    2
    3
    4
    git remote add origin URL   # 关联远程仓库
    git push -u origin main # 首次推送并建立追踪
    git pull origin dev # 拉取远程分支更新
    git fetch # 仅获取远程变更(不自动合并)

三、高阶操作与问题处理

  1. 撤销与回退

    • 丢弃工作区修改:git checkout -- filename
    • 撤销暂存区文件:git reset HEAD filename
    • 版本回退:git reset --hard commit_id(慎用)
  2. 暂存与恢复
    临时保存未完成的修改:

    1
    2
    git stash        # 保存当前工作进度
    git stash pop # 恢复最近一次暂存内容
  3. 标签管理

    1
    2
    3
    git tag v1.0.0           # 创建轻量标签
    git tag -a v1.0 -m "描述" # 含备注的标签
    git push origin --tags # 推送所有标签到远程

四、协作开发建议

  1. 分支策略:主分支(main/master)仅用于发布稳定版本,新功能在 dev 或 feature 分支开发。
  2. 提交规范:commit 信息需清晰描述修改内容,推荐使用 Conventional Commits 格式。
  3. 冲突预防:频繁使用 git pull --rebase 保持本地与远程同步,减少合并冲突。

附:完整命令速查表(部分)

类别 命令示例 作用说明
配置 git config --list 查看所有配置项
提交 git commit -am "msg" 跳过暂存区直接提交已追踪文件
分支 git branch -d dev 删除已合并的分支
远程 git remote -v 查看远程仓库地址
日志 git log --graph --oneline 图形化显示分支合并历史

更多完整命令可参考:Git 官方文档 或腾讯云开发者社区的《Git 常用命令汇总》。


学习提示:建议通过可视化工具(如 VS Code 的 Git 插件或 GitHub Desktop)辅助理解操作流程,再逐步熟悉命令行操作。