Git常用命令完全指南:从入门到精通

Git常用命令完全指南:从入门到精通

一、基础配置命令

1. 用户信息配置

bash 复制代码
# 设置全局用户名
git config --global user.name "你的名字"

# 设置全局邮箱
git config --global user.email "你的邮箱@example.com"

# 查看所有配置
git config --list

2. 仓库初始化

bash 复制代码
# 初始化当前目录为Git仓库
git init

# 克隆远程仓库到本地
git clone https://github.com/username/repo.git

# 克隆指定分支
git clone -b branch_name https://github.com/username/repo.git

二、基础工作流命令

1. 状态查看

bash 复制代码
# 查看当前状态(最常用)
git status

# 简短状态显示
git status -s
# 输出示例:
# M  README.md    (已修改)
# A  newfile.txt  (已添加)
# ?? untracked.js (未跟踪)

2. 添加与提交

bash 复制代码
# 添加单个文件
git add filename

# 添加所有变更(包括新文件和修改)
git add .

# 添加所有修改(不包括新文件)
git add -u

# 提交变更
git commit -m "提交描述信息"

# 添加并提交(适合小改动)
git commit -am "添加并提交"

3. 查看历史

bash 复制代码
# 查看完整提交历史
git log

# 单行显示提交历史
git log --oneline

# 带分支图的提交历史
git log --graph --all --oneline

# 查看某文件的修改历史
git log -p filename

三、分支管理命令

1. 基础分支操作

bash 复制代码
# 查看所有分支
git branch -a

# 创建新分支
git branch new-feature

# 切换分支
git checkout develop

# 创建并切换分支(常用)
git checkout -b hotfix

# 删除分支
git branch -d old-feature

2. 分支合并与变基

bash 复制代码
# 合并分支到当前分支
git merge feature-branch

# 变基(重写提交历史)
git rebase main

# 交互式变基(修改最近3次提交)
git rebase -i HEAD~3

3. 远程分支操作

bash 复制代码
# 获取远程分支
git fetch origin

# 跟踪远程分支
git checkout --track origin/remote-branch

# 推送本地分支到远程
git push -u origin local-branch

# 删除远程分支
git push origin --delete old-branch

四、撤销与回退命令

1. 工作区撤销

bash 复制代码
# 撤销工作区单个文件的修改
git restore filename

# 撤销工作区所有修改
git restore .

# 撤销所有未跟踪文件
git clean -fd

2. 暂存区撤销

bash 复制代码
# 将文件移出暂存区(保留修改)
git restore --staged filename

# 清空暂存区(保留工作区修改)
git reset

3. 提交回退

bash 复制代码
# 撤销上一次提交(创建新提交)
git revert HEAD

# 回退到指定提交(保留修改)
git reset commit_id

# 硬回退(丢弃所有修改)
git reset --hard commit_id

五、远程仓库操作

1. 远程连接管理

bash 复制代码
# 查看远程仓库
git remote -v

# 添加远程仓库
git remote add upstream https://github.com/original/repo.git

# 修改远程仓库URL
git remote set-url origin https://new.url/repo.git

2. 推送与拉取

bash 复制代码
# 推送当前分支到默认远程仓库
git push

# 强制推送(谨慎使用)
git push -f

# 拉取远程更新(fetch + merge)
git pull

# 拉取远程更新(fetch + rebase)
git pull --rebase

六、高级实用命令

1. 储藏更改

bash 复制代码
# 储藏当前工作区修改
git stash

# 查看储藏列表
git stash list

# 恢复最近储藏
git stash pop

# 恢复指定储藏
git stash apply stash@{1}

2. 标签管理

bash 复制代码
# 创建标签
git tag v1.0.0

# 创建带注释的标签
git tag -a v1.1.0 -m "Release version 1.1.0"

# 推送标签到远程
git push origin --tags

# 删除本地标签
git tag -d v0.9.0

3. 文件忽略

创建.gitignore文件:

复制代码
# 忽略所有.class文件
*.class

# 忽略node_modules目录
node_modules/

# 忽略.env环境文件
.env

# 不忽略特定文件
!important.class

4. 差异比较

bash 复制代码
# 比较工作区和暂存区
git diff

# 比较暂存区和最新提交
git diff --staged

# 比较两个分支
git diff branch1..branch2

# 比较指定文件在不同分支的差异
git diff branch1 branch2 -- filename

七、Git命令速查表

分类 命令 功能描述
基础操作 git init 初始化仓库
git clone [url] 克隆远程仓库
git status 查看状态
提交相关 git add [file] 添加到暂存区
git commit -m "msg" 提交变更
git commit --amend 修改上次提交
分支管理 git branch 查看分支
git checkout -b [branch] 创建并切换分支
git merge [branch] 合并分支
远程操作 git remote -v 查看远程仓库
git push 推送到远程
git pull 从远程拉取
撤销操作 git restore [file] 撤销工作区修改
git restore --staged [file] 撤销暂存区添加
git reset [commit] 回退到指定提交
历史查看 git log 查看提交历史
git log --oneline --graph 图形化历史
git diff 比较差异

八、最佳实践小贴士

  1. 提交规范:使用清晰、一致的提交信息格式

    复制代码
    feat: 添加用户登录功能
    fix: 解决首页加载问题
    docs: 更新API文档
  2. 分支策略

    • main/master:稳定生产分支
    • develop:开发主分支
    • feature/*:功能开发分支
    • hotfix/*:紧急修复分支
  3. 黄金法则

    • 频繁提交小改动
    • 提交前使用git diff检查变更
    • 推送前拉取最新代码
    • 慎用git push -f强制推送
  4. 救命命令

    bash 复制代码
    # 查看命令帮助
    git help [command]
    
    # 查看命令简写手册
    git [command] -h

总结

Git的强大功能源于其丰富的命令集,掌握这些常用命令将极大提升你的开发效率。记住:

  • 工作区 → 暂存区 → 仓库 是Git的核心工作流
  • addcommitpushpull 是最常用命令
  • 理解resetrevertstash等撤销操作能救你于危难
  • 良好的分支管理策略是团队协作的基础

实践是最好的学习方式,建议在日常开发中多使用这些命令,逐步形成自己的Git工作流。遇到问题时,别忘了Git内置的帮助系统(git help [command])是你最好的朋友!

掌握Git是每个开发者的必备技能,本文整理了最常用、最实用的Git命令,助你高效管理代码版本。


「小贴士」 :点击头像→【关注】按钮,获取更多软件测试的晋升认知不迷路! 🚀

相关推荐
airuike12310 分钟前
以微见著,精准护航:MEMS IMU助力高铁轨道智能检测
大数据·人工智能·科技
青稞社区.1 小时前
Claude Code 源码深度解析:运行机制与 Memory 模块详解
大数据·人工智能·elasticsearch·搜索引擎·agi
T06205141 小时前
【面板数据】地级市及区县人口空心化数据(2000-2024年)
大数据
Aktx20FNz2 小时前
iFlow CLI 完整工作流指南
大数据·elasticsearch·搜索引擎
HuaCode3 小时前
Openclaw一键安装部署(2026年4月最新)
git·python·nodejs·openclaw·api token
LaughingZhu3 小时前
Anthropic 收购 Oven 后,Claude Code 用运行时写了一篇护城河文章
大数据·人工智能·经验分享·搜索引擎·语音识别
学习3人组3 小时前
TortoiseGit冲突解决实战上机练习
大数据·elasticsearch·搜索引擎
Ln5x9qZC23 小时前
Flink SQL 元数据持久化实战
大数据·sql·flink
OYpBNTQXi4 小时前
Flink Agents 源码解读 --- (6) --- ActionTask
大数据·flink
A__tao4 小时前
Elasticsearch Mapping 一键生成 Go Struct,支持嵌套解析
elasticsearch·es