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命令,助你高效管理代码版本。


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

相关推荐
诗词在线19 分钟前
求推荐飞花令
大数据·人工智能·python
console.log('npc')34 分钟前
Git版本管控:git reset \+ git push \-f 原理、实操与避坑指南
git
湘美书院--湘美谈教育39 分钟前
湘美谈教育AI系列经验集锦:赋能整理聊斋志异大寓言
大数据·人工智能·深度学习·神经网络·机器学习
jrjrgood1 小时前
现货黄金和黄金期货的区别有哪些?如何投资?
大数据·人工智能·区块链
清辞8532 小时前
Coze从入门到实战---第一、二章
大数据·人工智能·学习·语言模型
TomatoStudy2 小时前
IT职业教育AI落地与实训体系建设复盘——以职坐标模式为例
大数据·人工智能
我是谁??3 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm
Java 码思客3 小时前
【ElasticSearch从入门到架构师】第1章:ElasticSearch 核心认知与行业定位
大数据·elasticsearch·搜索引擎
运维瓦工3 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
云烟成雨TD3 小时前
Spring AI 1.x 系列【59】容器化开发支持:Docker Compose 与 Testcontainers
人工智能·spring·docker