Git 常用命令汇总

Git 常用命令汇总

Git 是现在开发必备工具,整理一份常用命令清单,收藏备用。

1. 初始化和克隆

# 初始化新仓库
git init

# 克隆远程仓库
git clone https://github.com/user/repo.git

# 克隆指定分支
git clone -b dev https://github.com/user/repo.git

2. 查看状态

# 查看工作区状态
git status

# 查看提交历史
git log

# 查看简洁历史
git log --oneline --graph

# 查看文件改动
git diff

3. 添加和提交

# 添加所有文件到暂存区
git add .

# 添加指定文件
git add file.php

# 提交到本地仓库
git commit -m "修复bug"

# 提交并跳过验证
git commit --no-verify -m "修复bug"

4. 分支操作

# 查看本地分支
git branch

# 查看所有分支(包括远程)
git branch -a

# 创建新分支
git branch dev

# 切换分支
git checkout dev

# 创建并切换分支
git checkout -b dev

# 删除分支
git branch -d dev

# 强制删除分支
git branch -D dev

5. 远程操作

# 拉取远程更新
git pull

# 推送本地提交
git push

# 推送本地新分支到远程
git push -u origin dev

# 删除远程分支
git push origin --delete dev

6. 撤销操作

# 撤销工作区修改
git checkout -- file.php

# 撤销暂存区
git reset HEAD file.php

# 回退到上一个版本
git reset --hard HEAD^

# 回退到指定版本
git reset --hard commit_id

# 撤销上次提交(保留修改)
git reset --soft HEAD^

7. 合并和变基

# 合并分支
git merge dev

# 变基
git rebase master

# 取消合并
git merge --abort

8. 标签操作

# 打标签
git tag v1.0.0

# 查看标签
git tag

# 推送标签
git push origin v1.0.0

# 推送所有标签
git push origin --tags

总结

Git 常用命令核心:

  • 查看:status / log / diff
  • 提交:add / commit
  • 分支:branch / checkout / merge
  • 远程:pull / push
  • 撤销:reset / checkout

记住这些,日常 Git 操作基本够用了。


emer 发布于  2026-10-4 11:11 

Docker 常用命令大全

Docker 常用命令大全

Docker 命令不多,但记不住还是很麻烦。整理一份常用命令清单,收藏备用。

1. 镜像命令

# 拉取镜像
docker pull nginx:latest

# 查看本地镜像
docker images

# 删除镜像
docker rmi nginx:latest

# 搜索镜像
docker search nginx

# 导出镜像
docker save -o nginx.tar nginx:latest

# 导入镜像
docker load -i nginx.tar

2. 容器命令

# 启动容器(后台运行)
docker run -d --name mynginx -p 80:80 nginx

# 查看运行中的容器
docker ps

# 查看所有容器(包括停止的)
docker ps -a

# 停止容器
docker stop mynginx

# 启动已停止的容器
docker start mynginx

# 重启容器
docker restart mynginx

# 删除容器
docker rm mynginx

# 强制删除运行中的容器
docker rm -f mynginx

3. 进入容器

# 进入容器(bash)
docker exec -it mynginx bash

# 进入容器(sh)
docker exec -it mynginx sh

# 查看容器日志
docker logs mynginx

# 实时查看日志
docker logs -f mynginx

# 查看容器详情
docker inspect mynginx

4. 文件操作

# 从容器复制文件到宿主机
docker cp mynginx:/etc/nginx/nginx.conf ./

# 从宿主机复制文件到容器
docker cp ./index.html mynginx:/usr/share/nginx/html/

5. 端口和网络

# 查看容器端口映射
docker port mynginx

# 查看容器 IP
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mynginx

6. 清理命令

# 停止所有容器
docker stop $(docker ps -q)

# 删除所有停止的容器
docker container prune

# 删除所有未使用的镜像
docker image prune

# 删除所有未使用的资源(危险操作)
docker system prune -a

7. Docker Compose 常用命令

# 启动所有服务
docker-compose up -d

# 停止所有服务
docker-compose down

# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f

# 重启某个服务
docker-compose restart nginx

总结

Docker 常用命令核心:

  • 镜像:pull / images / rmi
  • 容器:run / ps / stop / start / rm
  • 进入:exec -it
  • 日志:logs -f
  • 清理:prune

记住这些,日常 Docker 操作基本够用了。


emer 发布于  2026-10-4 11:07 

PHP Composer 入门指南

PHP Composer 入门指南

Composer 是 PHP 的依赖管理工具,现在做 PHP 开发不用 Composer 几乎不可能。

1. 安装 Composer

# Linux/Mac
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

# Windows 直接下载安装包
# https://getcomposer.org/Composer-Setup.exe

验证安装:

composer -V

2. 换国内镜像(必须)

官方镜像太慢,一定要换国内镜像:

# 阿里云镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

# 腾讯云镜像
composer config -g repo.packagist composer https://mirrors.tencent.com/composer/

3. 初始化项目

# 进入项目目录
cd myproject

# 初始化 composer.json
composer init

或者手动创建 composer.json:

{
    "name": "my/project",
    "require": {
        "monolog/monolog": "^2.0"
    }
}

4. 常用命令

# 安装依赖
composer install

# 更新依赖
composer update

# 安装某个包
composer require monolog/monolog

# 卸载某个包
composer remove monolog/monolog

# 自动加载
composer dump-autoload

5. 自动加载

// 引入自动加载文件
require __DIR__ . '/vendor/autoload.php';

// 然后就可以直接用第三方库了
$log = new Monolog\Logger('name');

6. composer.json 详解

{
    "name": "项目名",
    "description": "项目描述",
    "type": "project",
    "require": {
        "php": ">=7.4",
        "monolog/monolog": "^2.0",
        "guzzlehttp/guzzle": "^7.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}

7. 版本号说明

  • ^2.0:兼容 2.0 到 3.0(不包含 3.0)
  • ~2.0:兼容 2.0 到 2.1(不包含 2.1)
  • *:任意版本
  • 2.0.*:2.0.x 版本

总结

Composer 核心:

  • 安装:一行命令
  • 换镜像:必须换国内源
  • 常用:install / update / require / remove
  • 自动加载:require vendor/autoload.php

搞懂这些,Composer 日常开发就够用了。


emer 发布于  2026-10-4 11:06 

PHP 字符串处理技巧

PHP 字符串处理常用技巧

字符串处理是 PHP 开发最常用的操作,掌握这些函数,写代码效率翻倍。

1. 截取字符串

// 截取前 5 个字符
substr("hello world", 0, 5); // hello

// 截取从第 6 个开始到结尾
substr("hello world", 6); // world

// 中文字符串截取(用 mb_)
mb_substr("你好世界", 0, 2, "UTF-8"); // 你好

注意:中文要用 mb_substr,不能用 substr,否则会乱码。

2. 替换字符串

//  str_replace(替换所有)
str_replace("world", "PHP", "hello world"); // hello PHP

//  str_ireplace(不区分大小写)
str_ireplace("WORLD", "PHP", "hello world");

//  preg_replace(正则替换)
preg_replace("/\d/", "", "abc123def"); // abcdef

3. 查找字符串

// 查找位置(找不到返回 false)
strpos("hello world", "world"); // 6

// 查找最后出现位置
strrpos("hello world hello", "hello"); // 12

// 判断是否包含(PHP 8+)
str_contains("hello world", "world"); // true

// 判断开头
str_starts_with("hello world", "hello"); // true

// 判断结尾
str_ends_with("hello world", "world"); // true

4. 格式化字符串

// 去除首尾空格
trim("  hello  "); // hello

// 只去左边/右边
ltrim("  hello"); // hello
rtrim("hello  "); // hello

// 转小写/大写
strtolower("Hello"); // hello
strtoupper("hello"); // HELLO

// 首字母大写
ucfirst("hello"); // Hello

// 每个单词首字母大写
ucwords("hello world"); // Hello World

5. 字符串和数组转换

// 字符串转数组
explode(",", "a,b,c"); // ["a","b","c"]

// 数组转字符串
implode(",", ["a","b","c"]); // a,b,c

// 重复字符串
str_repeat("ab", 3); // ababab

// 字符串长度
strlen("hello"); // 5
mb_strlen("你好", "UTF-8"); // 2

6. 常用技巧

// 生成随机字符串
substr(md5(time()), 0, 8);

// 脱敏手机号
substr_replace("13812345678", "****", 3, 4); // 138****5678

// 截取摘要(带省略号)
mb_strlen($text) > 10 ? mb_substr($text, 0, 10) . "..." : $text;

// 清除 HTML 标签
strip_tags("<p>hello</p>"); // hello

总结

PHP 字符串处理核心函数:

  • 截取:substr / mb_substr
  • 替换:str_replace / preg_replace
  • 查找:strpos / str_contains
  • 格式化:trim / strtolower / ucwords
  • 转换:explode / implode

记住这些,日常开发基本够用了。


emer 发布于  2026-10-4 11:04 

Redis 数据结构详解

Redis 五种数据结构详解

Redis 不只是缓存,它的五种数据结构各有各的用处,搞懂了才能用对地方。

1. String(字符串)

最基础的数据结构,存字符串、数字都行。

SET name "张三"
GET name
INCR count
SET token "abc123" EX 3600

应用场景:缓存用户信息、计数器、分布式锁、会话存储。

2. Hash(哈希)

存键值对,适合存对象。

HSET user:1 name "张三" age 25 city "北京"
HGET user:1 name
HGETALL user:1

应用场景:存用户信息、商品信息,比 String 存 JSON 更省空间。

3. List(列表)

有序列表,可以从头或尾加元素。

LPUSH messages "hello"
LPUSH messages "world"
LRANGE messages 0 -1

应用场景:消息队列、最新消息列表、朋友圈时间线。

4. Set(集合)

无序不重复集合。

SADD tags "PHP"
SADD tags "MySQL"
SMEMBERS tags
SISMEMBER tags "PHP"

应用场景:标签、共同好友、去重。

5. ZSet(有序集合)

每个元素带分数,按分数排序。

ZADD rank 100 "张三"
ZADD rank 90 "李四"
ZREVRANGE rank 0 9 WITHSCORES

应用场景:排行榜、计分板、优先级队列。

总结

五种数据结构各有用处:

  • String:简单缓存、计数器
  • Hash:存对象
  • List:队列、时间线
  • Set:去重、标签
  • ZSet:排行榜

选对数据结构,性能才能发挥出来。


emer 发布于  2026-10-4 10:50 

PHP 数组操作技巧

PHP 数组操作技巧

数组是 PHP 最常用的数据结构,掌握这些技巧,写代码效率翻倍。

1. 数组合并

// 索引数组合并
$arr1 = [1, 2];
$arr2 = [3, 4];
$result = array_merge($arr1, $arr2); // [1,2,3,4]

// 关联数组合并,后面覆盖前面
$arr1 = ['a' => 1, 'b' => 2];
$arr2 = ['b' => 3, 'c' => 4];
$result = array_merge($arr1, $arr2); // ['a'=>1, 'b'=>3, 'c'=>4]

2. 数组去重

// 一维数组去重
$arr = [1, 2, 2, 3, 3, 3];
$result = array_unique($arr); // [1,2,3]

// 二维数组按字段去重
$users = [
    ['id' => 1, 'name' => '张三'],
    ['id' => 2, 'name' => '李四'],
    ['id' => 1, 'name' => '张三'],
];
$ids = array_column($users, 'id');
$unique = array_unique($ids);

3. 数组排序

// 升序
sort($arr);

// 降序
rsort($arr);

// 按键排序
ksort($arr);

// 按值排序,保留键
asort($arr);

4. 数组过滤

// 过滤空值
$arr = [1, 0, '', null, 'a'];
$result = array_filter($arr); // [1, 'a']

// 自定义过滤
$result = array_filter($arr, function($value) {
    return $value > 2;
});

5. 数组取值

// 取某一列
$names = array_column($users, 'name');

// 取交集
$arr1 = [1, 2, 3];
$arr2 = [2, 3, 4];
$result = array_intersect($arr1, $arr2); // [2,3]

// 取差集
$result = array_diff($arr1, $arr2); // [1]

6. 常用技巧

// 判断键是否存在
isset($arr['key']);
array_key_exists('key', $arr);

// 随机取一个
$value = array_rand($arr);

// 打乱数组
shuffle($arr);

// 数组合并成字符串
$str = implode(',', $arr);

// 字符串转数组
$arr = explode(',', $str);

总结

PHP 数组函数非常丰富,常用的就这些:合并、去重、排序、过滤、取值。把这些记熟,日常开发基本够用了。


emer 发布于  2026-10-4 10:48