天涯海角异孤星
1、执行一个 sh 文件
git filter-branch --env-filter '
OLD_EMAIL="旧邮箱"
CORRECT_NAME="新提交的名字"
CORRECT_EMAIL="新提交的邮箱"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
2、如果遇到权限问题则赋予权限,例如
Permission denied
#执行如下命令
chmod +x XXXX.sh
3、如果遇到以下错误,修复它
Cannot create a new backup.
A previous backup already exists in refs/original/
Force overwriting the backup with -f
#执行如下命令
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD
4、最后提交(慎重)
git push origin --force --all
对比下 fastcgi.conf 与 fastcgi_params 文件,可以看出只有以下差异,即 fastcgi.conf 只比 fastcgi_params 多了一行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
原本只有 fastcgi_params 文件,fastcgi.conf是 nginx 0.8.30 才引入的。主要为是解决以下问题:原本 Nginx 只有 fastcgi_params,后来发现很多人在定义 SCRIPT_FILENAME 时使用了硬编码的方式。
例如:
fastcgi_param SCRIPT_FILENAME /var/www/foo$fastcgi_script_name;
于是为了规范用法便引入了 fastcgi.conf。
今天下班前往微信的文件传输助手发了一条消息,是SQL语句,如下:
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(20) NOT NULL COMMENT '用户名',
`password` char(40) NOT NULL COMMENT '登录密码',
`api_token` varchar(128) NOT NULL DEFAULT '' COMMENT 'token',
`created_at` int(10) unsigned NOT NULL COMMENT '创建时间',
`updated_at` int(10) unsigned NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表'
晚上回到家,本想复制这条消息记录在家里的电脑创建数据表,却莫名其妙报错了...
2023年1月19日补充:阿里云 composer 镜像自2022年下半年开始,更新就不太正常了,有些包拉取不到最新版,因此不再推荐!
详见链接:https://developer.aliyun.com/composer
PHP研发工程师技能图谱,可作为个人的学习过程梳理。
详见链接:https://www.processon.com/view/596700d6e4b043caf880b819
判断两个时间段是否重叠,如:
startdate1 — enddate1
startdate2 — enddate2
两个时间的重叠分4种情况,若你一一列出这四种情况来判断是否重叠那就弱爆了,最简单的方法:
startdate1 <= enddate2 and enddate1 >= startdate2
若你无法理解上面这种方法,那我还有下面的方法提供给你:
(startdate1 BETWEEN startdate2 AND enddate2)
or (enddate1 BETWEEN startdate2 AND enddate2)
or (startdate2 BETWEEN startdate1 AND enddate1)
or (enddate2 BETWEEN startdate1 AND enddate1)