星途物语 星途物语
首页
  • 随手记录
  • 故障处理
  • Nginx
  • MySQL
  • Ansible
  • Nexus
  • Tomcat
  • Docker
  • Zabbix
  • Prometheus
  • Git
  • GitLab
  • Jenkins
  • Kubernetes
  • Shell
  • Python
  • 圈圈空间
  • 做饭这件事
收藏站点
留言板
归档
GitHub (opens new window)

星途物语

尚记时,记之
首页
  • 随手记录
  • 故障处理
  • Nginx
  • MySQL
  • Ansible
  • Nexus
  • Tomcat
  • Docker
  • Zabbix
  • Prometheus
  • Git
  • GitLab
  • Jenkins
  • Kubernetes
  • Shell
  • Python
  • 圈圈空间
  • 做饭这件事
收藏站点
留言板
归档
GitHub (opens new window)
  • 随手记录

    • QPS优化记录
    • 阿里云SLB演示
    • DDOS预防
    • Linux内核优化
    • rsync同步守护进程
    • NFS文件同步
    • Tomcat升级
    • 编译安装mysql后添加到systemd管理
    • 防火墙笔记
    • python自动化巡检服务器
  • 故障处理

    • 处理防MIME攻击后出现的问题解决
  • MySQL学习笔记

    • MySQL5.7安装
    • MySQL常用操作语句
    • MySQL主从架构实施
    • MySQL主主架构实施
    • MySQL MHA高可用实施
    • MyCat读写分离
    • MySQL创建用户时的授权
    • MySQL备份
    • MySQL通配符
  • Nginx学习笔记

    • 状态码含义
    • 匹配优先级
    • Nginx常用操作
    • 添加第三方模块
    • 关于路径匹配
    • 转发和重写
    • 内置变量
    • Nginx配置文件结构
  • Tomcat学习笔记

    • 部署Tomcat
    • 修改发布目录
    • Tomcat调优
  • Redis学习笔记

    • 通过 tar.gz 包安装部署 redis
    • redis 配置文件
    • 哨兵集群
    • redis常用命令
    • 虚拟机安装 redis.tar.gz 遇到的问题
  • Ansible学习笔记

    • 部署和使用 ansible
    • ansible 自带的密码认证参数
    • 批量免密操作:批量分发公钥
    • 配置主机清单
    • ansible 小知识
    • 模块介绍
    • 剧本
    • 一键部署 rsync 环境
    • 批量安装一个tomcat
    • 批量安装一个nginx
    • 批量安装 zabbix-agent
  • Zabbix学习笔记

    • 部署 zabbix 服务端、客户端
    • 自定义监控
    • 触发器
    • 监控项类型
    • 简单检查模式
    • zabbix web 界面结构信息
    • 邮件报警
    • 微信报警
    • snmp 监控网络设备
    • 部署 zabbix 服务端、客户端
    • jmx 监控 java 应用
    • ipmi 监控硬件
    • 自动化注册
    • 监控项的主要项和相关项
    • percona 监控 mysql
  • Git学习笔记

    • 配置 git
    • 常用命令
    • GitLab学习笔记

      • 环境准备
      • 安装 gitlab
      • gitlab 忘记 root 管理员密码的处理办法
    • Jenkins学习笔记

      • 安装部署
      • jenkins 使用脚本完成项目构建
      • jenkins 自动构建最新项目
      • 将 jenkins 自动部署的结果返回给 gitlab
      • jenkins 上线 java 项目
      • jenkins pipeline
    • Docker学习笔记

      • 安装 docker
      • 配置 docker 源
      • docker 中的常见名词
      • 镜像管理命令
      • 容器管理命令
      • 创建容器
      • 数据卷
      • docker network
      • 搭建 LNMP
      • Dockerfile
      • Dockerfile 搭建 tomcat
      • docker 镜像磁盘扩容
      • docker composer
      • Harbor 私有镜像仓库
      • docker 面试题
      • docker desktop 运行时与虚拟机冲突
      • docker离线安装
    • Nexus学习笔记
    • Prometheus学习笔记

      • 核心组件
      • 工作原理
      • 安装和配置
      • 启动 Prometheus
      • PromQL 使用
      • 数据模型
      • Exporter
      • 演示服务
      • Grafana 数据可视化
      • Prometheus 告警
    • Kubernetes学习笔记

      • K8S的介绍
      • K8S集群环境的搭建
      • K8S资源管理
      • K8S的实战入门
    • 运维
    • Git学习笔记
    星途物语
    2025-01-01
    目录

    常用命令

    # 1.git init

    初始化一个新的 Git 仓库,生成 .git 文件夹以跟踪项目文件的更改

    --bare 创建一个裸仓库(用于共享代码),不含工作区,只包含版本历史
    
    1
    # 2.git clone

    从现有的远程仓库克隆一个完整的项目到本地,包括历史版本和当前代码

    --depth <depth> 只克隆指定层数的历史记录(浅克隆)
    --branch <branch_name> 克隆特定的分支,而不是默认的 master 或 main
    --single-branch 只克隆指定分支,不克隆其他分支
    
    # 克隆一个远程仓库到当前目录
    git clone https://github.com/user/repo.git
    # 只克隆最新一次提交
    git clone https://github.com/user/repo.git --depth 1
    # 克隆名为 "dev" 的分支
    git clone -b dev https://github.com/user/repo.git
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 3.git add

    将文件的更改添加到暂存区,准备提交

    . 添加当前目录及子目录中所有修改的文件
    -p 或 --patch 分阶段添加文件的某些部分(交互式选择更改)
    
    # 添加 file1.txt 到暂存区
    git add file1.txt
    # 添加所有更改的文件
    git add .
    # 交互式添加部分更改
    git add -p
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 4.git commit

    将暂存区中的更改提交到本地仓库,形成历史记录

    -m "<message>" 在提交时添加提交信息
    --amend 修改上一次提交的提交信息或更改内容
    -a 将所有已修改的文件自动加入暂存区(但不包括新建的文件)
    
    # 提交带有提交消息 "Initial commit"
    git commit -m "Initial commit"
    # 修改上次提交的提交信息
    git commit --amend -m "Updated commit message"
    # 自动添加所有已修改的文件并提交
    git commit -a -m "Fixed bugs"
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 5.git status

    显示工作区和暂存区的当前状态,查看哪些文件已修改、添加或删除

    -s 简洁模式,显示文件状态的简要信息
    -u 显示未跟踪的文件
    
    1
    2
    # 6.git log

    显示提交历史记录,包括每次提交的哈希值、提交者、日期和提交信息

    --oneline 以简洁的单行形式显示提交信息
    --graph 显示提交历史的分支结构图
    --since、--until 显示特定时间范围内的提交
    
    # 显示详细的提交历史
    git log
    # 以简洁格式显示提交历史
    git log --oneline
    # 以图形化方式显示分支结构
    git log --graph --oneline
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 7.git reflog

    记录了 Git 仓库中所有引用(如分支、HEAD)的位置变更

    即使你恢复到了最初的版本,仍然可以通过次命令查看所有的记录,从而回溯版本

    git reflog 查看引用日志
    git reflog show <reference> 查看特定引用的日志
    	git reflog show main 查看名为 main 的分支的引用日志
    git reset --hard ... 恢复到特定状态
    	git reset --hard HEAD@{2} 将 HEAD 恢复到引用日志中第 2 条记录的状态
    
    1
    2
    3
    4
    5
    # 8.git checkout/switch

    切换分支或恢复文件的某个历史版本

    -b <branch_name> 创建并切换到一个新的分支
    
    # 切换到 "dev" 分支
    git checkout dev
    # 创建并切换到新分支 "feature/new-feature"
    git checkout -b feature/new-feature
    
    1
    2
    3
    4
    5
    6
    # 9.git merge

    合并两个分支的更改,将另一个分支的更改合并到当前分支

    --no-ff 强制执行非快速前进合并,保留分支合并记录
    
    # 将 "dev" 分支合并到当前分支
    git merge dev
    # 强制执行非快速前进合并
    git merge --no-ff dev
    
    1
    2
    3
    4
    5
    6
    # 10.git push

    将本地提交推送到远程仓库

    --force 强制推送,覆盖远程仓库中的提交
    --set-upstream 将当前分支与远程仓库中的分支关联起来
    
    # 将本地 "main" 分支推送到远程仓库
    git push origin main
    # 强制推送,覆盖远程的 "main" 分支
    git push --force origin main
    
    1
    2
    3
    4
    5
    6
    7
    # 11.git pull

    从远程仓库获取最新的更改并将其合并到当前分支

    --rebase:拉取并使用 rebase 代替合并,使提交历史更加线性
    
    git pull origin main
    # 从远程仓库获取 "main" 分支的更改并合并到当前分支
    git pull --rebase origin main
    # 拉取并使用 rebase 合并更改
    
    1
    2
    3
    4
    5
    6
    # 12.git branch

    列出、创建或删除分支

    -d <branch_name> 删除本地分支
    -r 列出远程分支
    
    # 列出所有本地分支
    git branch
    # 删除本地分支 "feature/new-feature"
    git branch -d feature/new-feature
    # 列出所有远程分支
    git branch -r
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 13.git remote

    管理远程仓库的地址,列出、添加或删除远程仓库

    add <name> <url> 添加一个远程仓库
    remove <name> 移除远程仓库
    
    # 列出远程仓库地址
    git remote -v
    # 添加远程仓库
    git remote add origin https://github.com/user/repo.git
    # 删除远程仓库
    git remote remove origin
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 14.git reset

    重置当前分支到指定的提交,更新暂存区

    --soft <commit>:只重置 HEAD 到指定提交,保留暂存区和工作目录的更改

    --hard <commit>:重置 HEAD 到指定提交,重置暂存区和工作目录

    --mixed <commit>:重置 HEAD 到指定提交,同时重置暂存区

    # 将当前分支重置到前一个提交,保留暂存区和工作目录的更改
    git reset --soft HEAD~1
    # 将当前分支重置到前一个提交,重置暂存区,但保留工作目录的更改
    git reset HEAD~1
    # 将当前分支重置到前一个提交,重置暂存区和工作目录,丢失所有未提交的更改
    git reset --hard HEAD~1
    
    1
    2
    3
    4
    5
    6
    # 15.git diff

    用于显示工作目录与暂存区、当前分支与其他分支之间的差异

    git diff 显示工作目录与暂存区之间的差异
    git diff --staged 或 git diff --cached 显示暂存区与上一次提交之间的差异
    git diff <commit1> <commit2> 显示两个提交之间的差异
    git diff <branch1>..<branch2> 显示两个分支之间的差异
    git diff <file> 显示指定文件在工作目录和暂存区之间的差异
    
    # 显示工作目录与暂存区的差异
    git diff
    # 显示暂存区与上一次提交的差异
    git diff --staged
    # 显示前一个提交和当前提交之间的差异
    git diff HEAD~1 HEAD
    # 显示 main 分支和 feature-branch 分支之间的差异
    git diff main..feature-branch
    # 显示 file1.txt 在工作目录与暂存区之间的差异
    git diff file1.txt
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #Git
    配置 git
    环境准备

    ← 配置 git 环境准备→

    Theme by Vdoing | Copyright © 2025-2025 | 鄂ICP备2024086820号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式