修改最近一次 git commit 的提交信息

在使用 git 进行版本管理时,开发过程中会经常进行代码提交,但有时会因为一些问题需要对提交的信息进行修改,比如写了错别字或提交信息不准确等。

这种情况下,我们可以通过git commit --amend命令来修改之前的提交信息。这条命令会打开默认的文本编辑器,允许你修改提交信息。修改完成后保存并关闭编辑器即可。

顺便学个英语:

amend /əˈmend/ 这个单词是“修正”的意思。

git删除分支

在软件开发过程中,有时我们需要删除git上的一些分支,比如我们现要删除分支:noi18n,此时可以按以下步骤进行操作:

1、首先删除本地分支

# 如果分支已合并到其他分支(安全删除)
git branch -d noi18n

# 如果分支未合并,强制删除
git branch -D noi18n

2、如果存在远程分支,那么也需要同步删除

git push origin --delete noi18n

3、执行完了上面的删除命令后,我们需要确认一下删除是否成功,可以运行下面的命令查看被删除的分支是否还存在。

git branch -a  # 检查本地分支      
git ls-remote origin # 检查远程分支

git版本回退

在开发过程中,有时需要回退版本,此时我们可以使用git命令git revert进行回退版本。

需要注意的是,这个命令不会删除已经提交过的版本,会保留错误提交的历史记录。回退是通过生成一个反向提交来抵消之前的错误的版本。

使用方法如下:

git revert --no-commit <错误提交ID>  # 回退到旧版本

需要注意的是,如果回退的版本在多个提交之前,那么要把这些提交记录一个一个地回退,不能跳跃版本回退,例如:

git revert --no-commit C
git revert --no-commit B
git revert --no-commit A

参数--no-commit会应用变更但不自动提交,最后手动提交一次,例如:

git commit -m "revert to old version"
git push origin main

这样,我们就使用git命令完成了版本的回退。

喜提claw.cloud内存翻倍和100刀

前段时间 claw.cloud 有一个永久3.5折的优惠活动,由于这个商家的和阿里云的暧昧关系,导致我一直持续关注它,并且越来越感兴趣,所以趁着这个活动,就下单入手了一个2C2M的机器。

下单后,顺手写了一篇测评,https://notes.wujie.me/purchased-and-reviewed-claw-cloud-vps/,没想到的是,在3月4日收到claw.cloud官方的邮件,告知我中奖了。

claw.cloud 中奖邮件

有些惊喜,有些意外,这大概是我人生中少有的中奖体验,更多的是开心。

事情还没完,今天忙里偷闲刷了一眼马斯克的 X , 发现除了中奖内存翻倍之外,还中奖了100刀账户余额!Amazing!🎉🎉🎉

https://twitter.com/clawcloud43609/status/1896861398732546150

简直是不可思议,能连中两次是我没想到的,在此感谢 claw.cloud。

通过这段时间的使用,claw.cloud 的美国西部-北加利福尼亚州的机器很稳定,很好很强大👍👍,被你们成功圈粉了。

感谢你们提供了这么具有性价比的产品!

debian 12 通过 pip 安装 pdf2docx

在 Debian 12 上安装 pdf2docx,可以通过 Python 的包管理工具 pip 来安装。为了避免影响系统的环境,建议在一个 Python 虚拟环境中安装该工具。下面是详细的安装步骤:

1. 安装 Python 3 和 pip

首先,确保你的系统已经安装了 Python 3 和 pip。可以通过以下命令检查:

python3 --version
pip3 --version

如果没有安装,可以通过以下命令安装:

sudo apt update
sudo apt install python3 python3-pip

2. 创建 Python 虚拟环境

虚拟环境可以隔离不同项目所需的依赖包。创建虚拟环境的步骤如下:

python3 -m venv myenv

这将创建一个名为 myenv 的虚拟环境,所有的包将会安装在这个目录下,而不会影响系统环境。

3. 激活虚拟环境

要使用虚拟环境中的 Python 和 pip,你需要先激活它。使用以下命令来激活虚拟环境:

source myenv/bin/activate

激活后,你的终端提示符会发生变化,通常会看到虚拟环境的名称(myenv)出现在命令行前缀处,表明你当前处于该虚拟环境中。

4. 安装 pdf2docx

在虚拟环境中,你可以使用 pip 安装 pdf2docx:

pip install pdf2docx

安装完成后,pdf2docx 将只会安装在 myenv 目录下,而不会影响系统环境。

5. 使用 pdf2docx

安装完成后,你就可以在虚拟环境中使用 pdf2docx 进行 PDF 转 DOCX 的转换了。例如,使用以下命令:

from pdf2docx import Converter

cv = Converter('input.pdf')
cv.convert('output.docx', start=0, end=None)
cv.close()

6. 退出虚拟环境

当你完成工作后,可以通过以下命令退出虚拟环境:

deactivate

这样,你就成功在 Debian 12 上通过 pip 安装了 pdf2docx,并且使用了 Python 虚拟环境来隔离依赖,避免对系统环境的影响。

Debian 12 下 pip 更换国内源

在 Debian 12 上,pip 默认使用的是官方的 Python 包索引(PyPI),但由于网络原因,访问可能会较慢。为了提高下载速度,可以更换为国内的镜像源。

1. 临时使用国内源

如果只是临时使用国内源,可以在安装 Python 包时添加 -i 参数。例如:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple somepackage

2. 修改用户级别配置(推荐)

为了让 pip 默认使用国内源,可以修改用户级别的配置文件,推荐使用以下方法:

mkdir -p ~/.config/pip

echo "[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple" > ~/.config/pip/pip.conf

这样 pip 以后都会默认使用清华源,无需每次手动指定。

3. 修改全局配置(需要管理员权限)

如果希望所有用户都使用国内源,可以修改全局配置文件:

sudo mkdir -p /etc/pip

echo "[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple" | sudo tee /etc/pip/pip.conf

这种方式会影响系统中所有用户的 pip 配置。

4. 其他国内源

除了清华 TUNA 源,还可以选择其他国内镜像源,例如:

  • 阿里云: https://mirrors.aliyun.com/pypi/simple/
  • 中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
  • 豆瓣: https://pypi.douban.com/simple/(不稳定)

可以根据个人网络情况选择合适的源。

5. 验证配置是否生效

可以运行以下命令检查当前 pip 使用的源:

pip config list

如果输出中包含 index-url = https://pypi.tuna.tsinghua.edu.cn/simple,说明配置已经生效。

这样就可以更快地安装 Python 包,提高开发效率!

Windows PHP8.3 安装 imagick 扩展

从PECL中下载imagick扩展,需要注意对应的PHP版本,下载地址如下:

https://pecl.php.net/package/imagick/3.7.0/windows

然后把 php_imagick.dll 放到 PHP8.3 的扩展目录 ext 目录中。

然后把相关运行时文件放到PHP目录下,可以执行下面的命令一键复制过去:

copy CORE_RL_* E:\php\php-8.3.3-Win32-vs16-x64\
copy IM_MOD_* E:\php\php-8.3.3-Win32-vs16-x64\

注意:E:\php\php-8.3.3-Win32-vs16-x64\ 是我电脑上的PHP8.3路径,需要替换为你自己的PHP存放路径。

Git 初始化与首次提交流程

初始化 Git 仓库(如果还未初始化)

git init

添加文件并进行第一次提交(如果仓库已经有文件,那么这两步可以不用执行,配置好后续信息后,直接从服务器拉取代码即可。)

git add .
git commit -m "Initial commit"

创建 main 分支(如果当前不是 main 分支)

git branch -M main

设置远程仓库(如果尚未设置)

git remote add origin <你的远程仓库地址>

使用 git pull 将远程仓库的内容拉取到本地,并合并(如果有冲突的话,你需要手动解决)

git pull origin main --rebase

推送代码到 main 分支

git push -u origin main

-u 选项表示将 main 设为默认上游分支,之后你可以直接使用 git push,Git 会自动推送到 main。

如果要推送到 master 分支,那么就把上面的 main 替换为 master 即可。

git配置用户名和邮箱

$ git config --global user.name "laowu"
$ git config --global user.email "xxxx@outlook.com"

注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的 Git 仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

让Git显示颜色,会让命令输出看起来更醒目:

$ git config --global color.ui true

让git显示颜色这个功能,我测试没有效果,如果你也没有效果,那你不是一个人。

为 EasyUI TagBox 添加自动回车

在使用 EasyUI 的 TagBox 组件时,默认情况下,用户需要按回车键 (Enter) 才能添加标签。但有时用户可能会输入内容后忘记按回车,导致输入的标签未被添加。为了解决这个问题,我们可以通过 JavaScript 自动触发回车事件,让输入的内容自动转化为标签。

实现方法

使用 jQuery 触发 keydown 事件,并模拟按下 Enter 键,使得用户输入后能够自动完成标签添加。

代码示例

$('#tag').tagbox('textbox').trigger($.Event("keydown", { keyCode: 13 }));

说明

  • $('#tag'):获取 TagBox 组件。
  • .tagbox('textbox'):获取 TagBox 组件的输入框。
  • .trigger($.Event("keydown", { keyCode: 13 })):模拟用户按下回车键。

进一步优化

可以在输入框失去焦点时自动触发回车,以确保输入的内容被正确添加为标签。

$('#tag').tagbox('textbox').on('blur', function() {
    $(this).trigger($.Event("keydown", { keyCode: 13 }));
});

这样做的好处

  1. 自动添加标签:用户输入后,即使忘记按回车,输入框失去焦点时也会自动添加标签。
  2. 提高用户体验:减少用户手动操作的步骤,使交互更加流畅。

结论

通过以上方法,我们可以让 EasyUI 的 TagBox 组件自动处理用户输入,防止用户忘记按回车导致标签未添加的问题。这不仅提升了用户体验,还能使应用更加智能和易用。