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

git常用命令大全

    • 一、基础配置与初始化
      • 1. 查看与设置用户信息
      • 2. 初始化仓库
    • 二、文件状态与暂存区操作
      • 1. 查看状态
      • 2. 添加文件到暂存区
      • 3. 移除文件
    • 三、提交与历史管理
      • 1. 提交变更
      • 2. 查看提交历史
      • 3. 查看差异
    • 四、分支管理(核心!)
      • 1. 查看与创建分支
      • 2. 切换与合并分支
      • 3. 删除分支
      • 4. 重命名分支
    • 五、变基(Rebase)与历史重写
      • 1. 变基操作
      • 2. 交互式变基(整理提交)
    • 六、远程仓库协作
      • 1. 查看与管理远程仓库
      • 2. 推送与拉取
      • 3. 获取远程更新(不自动合并)
    • 七、回退与撤销操作
    • 八、标签(Tag)管理
    • 九、实用技巧与高级命令
      • 1. 查看某行代码是谁修改的
      • 2. 临时保存工作进度
      • 3. 查看仓库大小与大文件
      • 4. 清理未跟踪文件
      • 5. 设置别名(提升效率)

本文系统梳理了 Git 的核心命令,涵盖配置、仓库管理、分支操作、提交与回退、远程协作、日志查看、标签管理、实用技巧等八大模块,助你从入门走向熟练。


一、基础配置与初始化

1. 查看与设置用户信息

# 全局设置(推荐)
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"# 查看配置
git config --list
git config user.name        # 查看某项配置

💡 首次使用 Git 时务必配置用户名和邮箱,它们将作为提交记录的作者信息。

2. 初始化仓库

# 初始化本地仓库
git init# 克隆远程仓库
git clone <repository-url>
git clone <repository-url> <directory-name>  # 指定本地目录名

二、文件状态与暂存区操作

1. 查看状态

git status          # 查看工作区与暂存区状态
git status -s       # 简洁模式(short status)

2. 添加文件到暂存区

git add <file>              # 添加单个文件
git add .                   # 添加当前目录所有变更(不含 .gitignore 忽略的)
git add -A                  # 添加所有变更(包括删除)
git add -u                  # 仅添加已跟踪文件的修改和删除

3. 移除文件

git rm <file>               # 从工作区和暂存区删除文件
git rm --cached <file>      # 仅从暂存区移除(保留本地文件,常用于 .gitignore)

三、提交与历史管理

1. 提交变更

git commit -m "提交说明"            # 提交暂存区内容
git commit -am "提交说明"           # 自动 add 已跟踪文件并提交(不包含新文件)
git commit --amend                  # 修改最后一次提交(可改内容或注释)

2. 查看提交历史

git log                     # 完整日志
git log --oneline           # 单行简洁日志
git log --graph             # 图形化分支历史
git log --author="name"     # 按作者过滤
git log -p -2               # 显示最近2次提交的差异

3. 查看差异

git diff                    # 工作区 vs 暂存区
git diff --cached           # 暂存区 vs 最后一次提交
git diff HEAD               # 工作区 vs 最后一次提交
git diff <commit1> <commit2> # 两次提交之间的差异

四、分支管理(核心!)

1. 查看与创建分支

git branch                  # 查看本地分支(* 表示当前分支)
git branch -a               # 查看所有分支(含远程)
git branch <branch-name>    # 创建新分支(不切换)

2. 切换与合并分支

git checkout <branch-name>      # 切换分支
git switch <branch-name>        # Git 2.23+ 推荐:切换分支(更语义化)
git checkout -b <new-branch>    # 创建并切换到新分支
git switch -c <new-branch>      # 同上(新语法)git merge <branch-name>         # 合并指定分支到当前分支(保留历史)

3. 删除分支

git branch -d <branch-name>     # 删除已合并的分支
git branch -D <branch-name>     # 强制删除(未合并也删)

4. 重命名分支

git branch -m <old-name> <new-name>   # 重命名当前分支

五、变基(Rebase)与历史重写

1. 变基操作

git rebase <target-branch>      # 将当前分支变基到目标分支
git rebase --continue           # 解决冲突后继续 rebase
git rebase --abort              # 放弃 rebase,回到操作前状态

2. 交互式变基(整理提交)

git rebase -i HEAD~3            # 整理最近3次提交
# 在编辑器中可选择:
# pick:保留提交
# squash:合并到上一个提交
# reword:修改提交信息
# drop:删除提交

六、远程仓库协作

1. 查看与管理远程仓库

git remote -v                   # 查看远程仓库地址
git remote add <name> <url>     # 添加远程仓库(如 origin)
git remote remove <name>        # 删除远程仓库

2. 推送与拉取

git push origin <branch>        # 推送本地分支到远程
git push -u origin <branch>     # 首次推送并设置上游跟踪
git push --force                # 强制推送(慎用!)
git push --force-with-lease     # 更安全的强制推送(推荐)git pull                        # 拉取并自动合并(= fetch + merge)
git pull --rebase               # 拉取并变基(保持线性历史)

💡 建议:配置 git config --global pull.rebase true,让 git pull 默认使用 rebase。

3. 获取远程更新(不自动合并)

git fetch origin                # 获取远程所有分支更新
git fetch origin <branch>       # 获取指定分支更新

七、回退与撤销操作

场景命令说明
撤销工作区修改git checkout -- <file>丢弃工作区变更(恢复到暂存区状态)
撤销暂存区添加git reset HEAD <file>将文件从暂存区移回工作区
回退到某次提交(保留修改)git reset --soft <commit>撤销提交,但保留暂存区和工作区
回退到某次提交(保留工作区)git reset --mixed <commit>默认行为,撤销提交和暂存区,保留工作区
彻底回退(危险!)git reset --hard <commit>丢弃所有后续提交和修改
新建提交来撤销变更git revert <commit>安全回退,生成新提交(适合已推送的提交)

八、标签(Tag)管理

git tag                     # 列出所有标签
git tag -l "v1.*"           # 模糊搜索标签git tag <tagname>           # 轻量标签(指向提交)
git tag -a <tagname> -m "说明"  # 附注标签(推荐)git show <tagname>          # 查看标签信息git push origin <tagname>   # 推送单个标签
git push origin --tags      # 推送所有标签

九、实用技巧与高级命令

1. 查看某行代码是谁修改的

git blame <file>

2. 临时保存工作进度

git stash                   # 保存当前工作区和暂存区
git stash list              # 查看 stash 列表
git stash pop               # 恢复最近一次 stash 并删除
git stash apply             # 恢复 stash 但保留记录

3. 查看仓库大小与大文件

git count-objects -v -H     # 查看仓库对象大小

4. 清理未跟踪文件

git clean -n                # 预览将删除的文件
git clean -f                # 删除未跟踪文件
git clean -fd               # 删除未跟踪文件和目录

5. 设置别名(提升效率)

git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.lg "log --oneline --graph --all"

📚 推荐学习资源:

  • 官方 Pro Git 书籍(https://git-scm.com/book/zh/v2)
  • 可视化学习工具:Learn Git Branching
http://www.dtcms.com/a/469749.html

相关文章:

  • 算法 - 递归
  • 软考-系统架构设计师 系统架构评估详细讲解
  • Redis 黑马skyout
  • 【Unity】构建超实用的有限状态机管理类
  • redis基础命令和深入理解底层
  • Java中第三方报告库-Allure
  • 高端公司网站建设连云港做网站制作
  • Google 智能体设计模式:优先级排序
  • 网站做不做百度云加速手游代理平台哪个好
  • 【国内电子数据取证厂商龙信科技】邮件如何取证?
  • 手机网站模板 psd做网站建设分哪些类型
  • 做网站需要哪些框架网站没备案可以访问吗
  • Git下载和安装教程(附安装包)
  • go的学习2---》并发编程
  • 高端网站建设企业公司网页版qq空间登录入口官网
  • 麒麟系统安装达梦数据库遇到的问题
  • VScode怎么使用Jupyter并且设置内核
  • LwIP UDP RAW
  • VI-SLAM定位方案对比
  • TCP/IP 协议族—理论与实践(一)
  • 手持小风扇MCU方案,智能风扇方案设计开发
  • 网站设计深圳网站建设公司网页设计与制作100例怎么写
  • Linux -- 网络层
  • 建设班级网站 沟通无限网络黄页进入有限公司
  • Labview项目01:标准可配置序列测试框架
  • 拌合楼软件开发(23)监测客户端在线情况并联动企业微信提醒客户端离线和恢复
  • 雄安网建 网站建设莞城微信网站建设
  • 基于Python的交通数据分析应用-hadoop+django
  • [特殊字符] 教程|打造一个 Telegram 币圈波场交易记录检测机器人
  • 高弹性不锈钢材质在技工钳应用中的优势分析