初级程序员必备的十大技能之 Git 版本控制(二)

简介: 教程来源 http://unbgv.cn Git基础操作覆盖日常开发80%场景:含仓库初始化(init/clone)、状态查看(status/diff)、文件暂存与提交(add/commit)、历史浏览(log/blame)及安全撤销(restore/reset/revert),助开发者高效管理代码版本。

三、Git 基础操作:日常开发的 80%

3.1 初始化仓库

# 方式1:从零开始创建新仓库
mkdir my-project
cd my-project
git init
# Initialized empty Git repository in /path/to/my-project/.git/

# 方式2:克隆现有远程仓库
git clone https://github.com/username/repo.git
git clone git@github.com:username/repo.git  # SSH 方式
git clone https://github.com/username/repo.git my-folder  # 指定文件夹名

3.2 查看状态与差异

# 查看工作区和暂存区状态(最常用的命令)
git status

# 详细状态
git status -s  # 简短输出
# ?? 新文件(未追踪)
# A  已暂存(新添加)
# M  已修改
# D  已删除

# 查看具体修改内容
git diff                 # 工作区 vs 暂存区
git diff --staged        # 暂存区 vs 上一次提交
git diff HEAD            # 工作区 vs 上一次提交
git diff <commit1> <commit2>  # 两个提交之间的差异

# 查看特定文件的差异
git diff src/index.js

3.3 添加与提交

# 添加文件到暂存区
git add README.md           # 添加单个文件
git add src/                # 添加整个目录
git add .                   # 添加当前目录下所有修改(谨慎使用)
git add -A                  # 添加所有修改(包括删除和新增)

# 交互式添加(选择部分修改)
git add -p                  # 可以逐块选择是否暂存

# 提交到本地仓库
git commit -m "添加登录功能"

# 提交并跳过暂存区(直接提交工作区的修改)
git commit -a -m "修复Bug"

# 修改最后一次提交(修改提交信息或补充遗漏文件)
git commit --amend -m "新的提交信息"

# 补充文件到上一次提交(不修改信息)
git add forgotten-file.js
git commit --amend --no-edit

3.4 查看历史

# 查看提交历史
git log

# 单行显示
git log --oneline

# 图形化显示分支结构
git log --oneline --graph --all

# 显示最近 N 次提交
git log -5

# 显示每次提交的修改内容
git log -p

# 按作者筛选
git log --author="张三"

# 按时间筛选
git log --since="2024-01-01" --until="2024-12-31"

# 按提交信息筛选
git log --grep="修复"

# 查看某文件的提交历史
git log --follow src/index.js

# 查看是谁最后修改了文件的每一行
git blame src/index.js

3.5 撤销操作

# 1. 撤销工作区的修改(还没 add)
git checkout -- <file>        # 恢复到上次提交的状态
git restore <file>            # 新版本的写法(推荐)

# 2. 撤销暂存区的修改(已经 add,还没 commit)
git reset HEAD <file>         # 旧版本写法
git restore --staged <file>   # 新版本写法(推荐)

# 3. 撤销提交(已经 commit,还没 push)
git reset --soft HEAD~1       # 撤销提交,保留修改在工作区
git reset --mixed HEAD~1      # 撤销提交和暂存,保留修改在工作区(默认)
git reset --hard HEAD~1       # 完全撤销,丢失所有修改(危险!)

# 4. 撤销远程提交(已经 push,需要谨慎!)
git revert HEAD               # 创建一个新的提交来撤销上一次提交
git revert <commit-hash>      # 撤销指定的提交

# 5. 恢复被删除的文件
# 先找到删除该文件的提交
git log --diff-filter=D --summary | grep delete
# 然后恢复
git checkout <commit-hash>^ -- <file-path>

reset vs revert 的区别:

reset:移动 HEAD 指针,改写历史
A → B → C (HEAD)
git reset HEAD~1
A → B (HEAD)   # C 消失了

revert:保留历史,创建新提交来撤销
A → B → C → C' (HEAD)
git revert HEAD
A → B → C → D (D = 撤销 C 的修改)

来源:
http://htnus.cn

相关文章
|
16天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23518 12
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
3天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
1201 7
|
5天前
|
人工智能 BI 持续交付
Claude Code 深度适配 DeepSeek V4-Pro 实测:全场景通关与真实体验报告
在 AI 编程工具日趋主流的今天,Claude Code 凭借强大的任务执行、工具调用与工程化能力,成为开发者与自动化运维的核心效率工具。但随着原生模型账号稳定性问题频发,寻找一套兼容、稳定、能力在线的替代方案变得尤为重要。DeepSeek V4-Pro 作为新一代高性能大模型,提供了完整兼容 Claude 协议的 API 接口,只需简单配置即可无缝驱动 Claude Code,且在任务执行、工具调用、复杂流程处理上表现极为稳定。
1364 3
|
9天前
|
人工智能 缓存 Shell
Claude Code 全攻略:命令大全 + 实战工作流(完整版)
Claude Code 是一款运行在终端环境下的 AI 编码助手,能够直接在项目目录中理解代码结构、编辑文件、执行命令、执行开发计划,并支持持久化记忆、上下文压缩、后台任务、多模型切换等专业能力。对于日常开发、项目维护、快速重构、代码审查等场景,它可以大幅减少手动操作、提升编码效率。本文从常用命令、界面模式、核心指令、记忆机制、图片处理、进阶工作流等维度完整说明,帮助开发者快速上手并稳定使用。
2508 4
|
3天前
|
人工智能 JSON BI
DeepSeek V4-Pro 接入 Claude Code 完全实战:体验、测试与关键避坑指南
Claude Code 作为当前主流的 AI 编程辅助工具,凭借强大的代码理解、工程执行与自动化能力深受开发者喜爱,但原生模型的使用成本相对较高。为了在保持能力的同时进一步降低开销,不少开发者开始寻找兼容度高、价格更友好的替代模型。DeepSeek V4 系列的发布带来了新的选择,该系列包含 V4-Pro 与 V4-Flash 两款模型,并提供了与 Anthropic 完全兼容的 API 接口,理论上只需简单修改配置,即可让 Claude Code 无缝切换为 DeepSeek 引擎。
921 0
|
20天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
6024 22
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
21天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
7272 18