Git基础玩法简单描述

Git 的三个核心区域

工作区

开发者直接编辑文件的目录,所有未跟踪或修改的文件均处于此区域。文件改动后需通过 git add 转入暂存区。

暂存区

临时存储修改的中间区域,使用 git add 将工作区的变动添加至此。允许分批提交,避免直接提交未完成的更改。

版本库

通过 git commit 将暂存区内容永久保存为版本快照。每个提交生成唯一哈希值,支持回退和历史追踪。


Git 基础操作指令

环境配置

  • 版本检查:git --version
  • 设置用户名:git config --global user.name "YourName"
  • 设置邮箱:git config --global user.email "email@example.com"

仓库管理

  • 初始化:git init
  • 添加文件到暂存区:
    • 单文件:git add filename
    • 全部文件:git add .
  • 提交到版本库:git commit -m "Message"
  • 状态检查:git status -s
    • A:新文件首次暂存
    • ??:未跟踪文件
    • 红色 M:已修改未暂存
    • 绿色 M:已修改且暂存

撤销与恢复

  • 暂存区覆盖工作区:git restore file
  • 移除暂存区文件:git rm --cached file
  • 查看提交历史:git log --oneline
  • 版本回退:git reset --hard commit_hash

分支管理

基础操作

  • 查看分支:git branch*标记当前分支)
  • 创建分支:git branch new_branch
  • 切换分支:git checkout branch_name
  • 合并分支:先切换到目标分支,执行 git merge source_branch
  • 删除分支:git branch -d branch_name

远程仓库协作(以 Gitee 为例)

SSH 密钥配置

生成密钥:ssh-keygen -t ed25519 -C "Gitee SSH Key"

仓库连接与推送

  • 首次关联远程仓库:git remote add origin https://gitee.com/user/repo.git
  • 推送代码:git push -u origin master
  • 冲突处理:
    • 拉取远程更新:git pull origin master
    • 强制合并:git pull --rebase origin master

克隆与多人协作

  • 克隆仓库:git clone repo_url
  • 验证远程连接:git fetch origin
  • 查看远程仓库:git remote -v

高级场景

忽略文件

创建 .gitignore 文件,列出需忽略的文件/目录模式,如:

复制代码
*.log
node_modules/

云端与本地冲突解决

当远程仓库更新领先于本地时:

  1. 拉取最新代码:git pull origin master
  2. 解决冲突后重新提交并推送

强制推送警告

避免直接使用 git push --force,可能导致团队代码丢失

Git 基础知识与操作指南

Git 是一个分布式版本控制系统,用于高效管理代码变更。核心概念包括三个区域:工作区、暂存区和版本库。下面我将基于您提供的信息,结构化解释这些概念和常用指令,确保内容清晰可靠。

一、Git 的三个区域
  • 工作区(Working Directory):您实际开发时操作的文件夹,包含所有文件修改。例如,您在本地编辑代码文件。
  • 暂存区(Staging Area):保存准备提交的文件变更。添加文件到暂存区后,Git 会跟踪这些改动,但尚未永久保存。
  • 版本库(Repository):提交暂存区内容后生成的永久快照。每个提交对应一个唯一版本号,便于历史回溯。
二、常用 Git 指令

以下指令基于标准 Git 语法,我已整理为分类列表。使用命令行时,确保在 Git 仓库目录下执行。

  1. 配置与初始化

    • 检查 Git 版本:

      shell 复制代码
      git -v
    • 配置全局用户名称和邮箱(仅需设置一次):

      shell 复制代码
      git config --global user.name "您的名称"
      git config --global user.email "您的邮箱"
    • 初始化新仓库:

      shell 复制代码
      git init
  2. 文件管理

    • 添加文件到暂存区:

      • 添加指定文件:

        shell 复制代码
        git add 文件名
      • 添加所有修改的文件:

        shell 复制代码
        git add .
    • 提交文件到版本库:

      shell 复制代码
      git commit -m "注释内容"
    • 查看文件状态(-s 参数简化输出):

      shell 复制代码
      git status -s
      • 状态符号含义:
        • A:新文件,已添加到暂存区。
        • ??:未添加到暂存区。
        • 红色 M:文件已修改,但未提交到暂存区。
        • 绿色 M:文件已修改,且已提交到暂存区。
    • 恢复工作区文件(用暂存区覆盖工作区):

      shell 复制代码
      git restore 目标文件
    • 移除暂存区文件(保留工作区文件):

      shell 复制代码
      git rm --cached 目标文件
  3. 历史与回退

    • 查看提交历史(简化输出):

      shell 复制代码
      git log --oneline
    • 回退到指定版本:

      shell 复制代码
      git reset --hard 版本号
      • 注意:回退后,当前版本之后的提交历史会隐藏,但可通过版本号再次回退。
    • 忽略文件:创建 .gitignore 文件,列出需忽略的文件或目录(如临时文件)。

  4. 分支管理

    • 查看所有分支(* 表示当前分支):

      shell 复制代码
      git branch
    • 创建新分支:

      shell 复制代码
      git branch 分支名
    • 切换到分支:

      shell 复制代码
      git checkout 分支名
    • 合并分支(先切换到主分支):

      shell 复制代码
      git merge 子分支名
    • 删除已合并的子分支:

      shell 复制代码
      git branch -d 子分支名
三、远程仓库连接(以 Gitee 为例)

远程仓库如 Gitee 允许代码托管和协作。操作前需生成 SSH 密钥并配置。

  1. 生成 SSH 公钥

    • 在命令行执行:

      shell 复制代码
      ssh-keygen -t ed25519 -C "Gitee SSH Key"
    • 完成后,公钥文件(通常为 id_ed25519.pub)需添加到 Gitee 账户设置中。

  2. 连接远程仓库

    • 首次连接:

      shell 复制代码
      git remote add origin 远程仓库地址
    • 推送代码到云端(如主分支):

      shell 复制代码
      git push -u origin "master"
    • 查看当前远程仓库配置:

      shell 复制代码
      git remote -v
    • 验证连接:

      shell 复制代码
      git fetch 仓库名称
      • 作用:检查连接状态,并获取远程最新数据到本地。
  3. 云端与本地同步

    • 当云端文件数大于本地时,需先拉取再推送:

      • 拉取代码(不合并):

        shell 复制代码
        git pull 远程仓库别名 分支名
      • 拉取并合并(推荐):

        shell 复制代码
        git pull --rebase 远程仓库别名 "分支名"
    • 克隆云端仓库到本地:

      shell 复制代码
      git clone 远程仓库地址
四、多人协作流程

多人开发时,遵循以下步骤避免冲突:

  1. 克隆仓库

    shell 复制代码
    git clone 他人远程仓库地址
  2. 修改与提交

    • 本地修改代码后,务必提交到版本库:

      shell 复制代码
      git add .
      git commit -m "修改描述"
  3. 推送更新

    • 连接远程仓库(如未配置):

      shell 复制代码
      git remote add origin 远程仓库地址
    • 推送代码:

      shell 复制代码
      git push -u origin "master"
    • 如果云端代码不同,那就得先拉取再推送(使用 git pull --rebase)。

Git 的核心在于理解三个区域的流转:工作区 → 暂存区 → 版本库。

相关推荐
未来之窗软件服务1 小时前
万象EXCEL开发(九)excel 高级混合查询 ——东方仙盟金丹期
大数据·excel·仙盟创梦ide·东方仙盟·万象excel
文火冰糖的硅基工坊2 小时前
[人工智能-综述-21]:学习人工智能的路径
大数据·人工智能·学习·系统架构·制造
TDengine (老段)6 小时前
TDengine 时序函数 MAVG 用户手册
大数据·数据库·物联网·性能优化·时序数据库·iot·tdengine
58沈剑7 小时前
1W+属性,每秒10W+吞吐,100Y+数据,架构如何设计?(第101讲,万字收藏)
大数据·架构
IT毕设梦工厂8 小时前
大数据毕业设计选题推荐-基于大数据的人口普查收入数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
大数据·hadoop·数据分析·spark·毕业设计·源码·bigdata
计算机源码社9 小时前
基于Hadoop的车辆二氧化碳排放量分析与可视化系统|基于Spark的车辆排放量实时监控与预测系统|基于数据挖掘的汽车排放源识别与减排策略系统
大数据·hadoop·机器学习·数据挖掘·spark·毕业设计·课程设计
代码匠心12 小时前
从零开始学Flink:数据输出的终极指南
java·大数据·后端·flink
lingxiao1688812 小时前
Git常规应用
git
RunningShare13 小时前
SpringBoot + MongoDB全栈实战:从架构原理到AI集成
大数据·spring boot·mongodb·架构·ai编程
文火冰糖的硅基工坊15 小时前
[人工智能-综述-18]:AI重构千行百业的技术架构
大数据·人工智能·重构·架构·系统架构·制造·产业链