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


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

相关推荐
happyhappy没有句号14 分钟前
CentOS系统如何安装和使用docker
docker·centos
泡泡_022434 分钟前
云原生系统DOCKER中容器系统搭建
docker·云原生·容器
嘉讯科技HIS系统2 小时前
嘉讯科技:医疗信息化、数字化、智能化三者之间的关系和区别
大数据·数据库·人工智能·科技·智慧医疗
Changersh2 小时前
Windows下配置Docker+WSL集成开发环境
windows·docker·容器
lovely_nn2 小时前
Docker 容器资源限制
docker·容器
大只鹅3 小时前
Springboot3.3.4使用spring-data-elasticsearch整合Elasticsearch7.12.1
spring boot·elasticsearch
lifallen3 小时前
Paimon vs. HBase:全链路开销对比
java·大数据·数据结构·数据库·算法·flink·hbase
爱吃面的猫3 小时前
大数据Hadoop之——Hbase下载安装部署
大数据·hadoop·hbase
viperrrrrrrrrr73 小时前
大数据(1)-hdfs&hbase
大数据·hdfs·hbase
Jack_hrx4 小时前
docker部署nginx
linux·nginx·docker·centos