当前位置: 首页 > news >正文

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

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

一、基础配置命令

1. 用户信息配置

# 设置全局用户名
git config --global user.name "你的名字"# 设置全局邮箱
git config --global user.email "你的邮箱@example.com"# 查看所有配置
git config --list

2. 仓库初始化

# 初始化当前目录为Git仓库
git init# 克隆远程仓库到本地
git clone https://github.com/username/repo.git# 克隆指定分支
git clone -b branch_name https://github.com/username/repo.git

二、基础工作流命令

1. 状态查看

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

2. 添加与提交

# 添加单个文件
git add filename# 添加所有变更(包括新文件和修改)
git add .# 添加所有修改(不包括新文件)
git add -u# 提交变更
git commit -m "提交描述信息"# 添加并提交(适合小改动)
git commit -am "添加并提交"

3. 查看历史

# 查看完整提交历史
git log# 单行显示提交历史
git log --oneline# 带分支图的提交历史
git log --graph --all --oneline# 查看某文件的修改历史
git log -p filename

三、分支管理命令

1. 基础分支操作

# 查看所有分支
git branch -a# 创建新分支
git branch new-feature# 切换分支
git checkout develop# 创建并切换分支(常用)
git checkout -b hotfix# 删除分支
git branch -d old-feature

2. 分支合并与变基

# 合并分支到当前分支
git merge feature-branch# 变基(重写提交历史)
git rebase main# 交互式变基(修改最近3次提交)
git rebase -i HEAD~3

3. 远程分支操作

# 获取远程分支
git fetch origin# 跟踪远程分支
git checkout --track origin/remote-branch# 推送本地分支到远程
git push -u origin local-branch# 删除远程分支
git push origin --delete old-branch

四、撤销与回退命令

1. 工作区撤销

# 撤销工作区单个文件的修改
git restore filename# 撤销工作区所有修改
git restore .# 撤销所有未跟踪文件
git clean -fd

2. 暂存区撤销

# 将文件移出暂存区(保留修改)
git restore --staged filename# 清空暂存区(保留工作区修改)
git reset

3. 提交回退

# 撤销上一次提交(创建新提交)
git revert HEAD# 回退到指定提交(保留修改)
git reset commit_id# 硬回退(丢弃所有修改)
git reset --hard commit_id

五、远程仓库操作

1. 远程连接管理

# 查看远程仓库
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. 推送与拉取

# 推送当前分支到默认远程仓库
git push# 强制推送(谨慎使用)
git push -f# 拉取远程更新(fetch + merge)
git pull# 拉取远程更新(fetch + rebase)
git pull --rebase

六、高级实用命令

1. 储藏更改

# 储藏当前工作区修改
git stash# 查看储藏列表
git stash list# 恢复最近储藏
git stash pop# 恢复指定储藏
git stash apply stash@{1}

2. 标签管理

# 创建标签
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. 差异比较

# 比较工作区和暂存区
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. 救命命令

    # 查看命令帮助
    git help [command]# 查看命令简写手册
    git [command] -h
    

总结

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

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

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

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


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

相关文章:

  • 【Redis实战:缓存与消息队列的应用】
  • 30 C 语言递归算法详解:基准条件、递归逻辑、循环对比、经典案例(斐波那契、猴子吃桃、汉诺塔、二分查找等)
  • 防火墙iptables项目实战
  • golang常用库之-go-feature-flag库(特性开关(Feature Flags))
  • 关于面试找工作的总结(四)
  • Linux容器篇、第一章_02Rocky9.5 系统下 Docker 的持久化操作与 Dockerfile 指令详解
  • 电子电路:共集电极放大器原理与作用解析
  • MySQL JSON 查询中的对象与数组技巧
  • nginx配置
  • DeviceNET从站转EtherNET/IP主站在盐化工行业的创新应用
  • STM32L0看门狗设置LL库
  • 《Vuejs设计与实现》第 7 章(渲染器的设计)
  • 一个小小的 flask app, 几个小工具,拼凑一下
  • 【Linux】Linux 环境变量
  • skynet monitor线程的作用
  • Webpack常见的插件和模式
  • STM32最小CLion开发环境
  • MYSQL之表的内连和外连
  • ABP-Book Store Application中文讲解 - Part 9: Authors: User Interface
  • 3D旋转动态爱心 - Python创意代码
  • 服务器托管成都创新互联/seo需要懂代码吗
  • 潍坊市网站制作/怎么提交百度收录
  • 徐州企业网站建设公司/搜狗网站收录提交入口
  • 网页设计个人页面/福建seo顾问
  • 设计学习/英文seo是什么
  • 上海求职网招聘网/seo排名软件哪个好用