git 整体提交记录(rabase)后合并(merge)

⚠️ 无论是 rebase 还是 merge 都是一项危险操作,请确保充分理解的命令的含义,并确保每一行代码无误后再继续。 如果不确定,请一定记得做好数据备份!!!

为了合并 dev 分支到 master 分支,同时确保代码不丢失且提交记录规整,你可以使用交互式的 git rebase 命令。这允许你重新排列、修改、合并或分割提交。以下是操作步骤:

  1. 确保当前在 dev 分支:
git checkout dev
  1. 交互式地 rebase 到 master 分支:
git rebase -i master

这会打开一个编辑器,列出所有 dev 分支中相对于 master 的提交。编辑器中的每一行都代表一个提交,格式为:`

`。 3. 调整提交记录: 要调整提交顺序,可以简单地在编辑器中移动这些行。 要合并多个提交,可以将相应行的操作从 `pick` 更改为 `squash` 或 `fixup`。`squash` 会将提交合并到前一个提交中,并允许你编辑提交消息。`fixup` 会将提交合并到前一个提交中,但会丢弃当前提交的消息。 要修改某个提交,将操作从 `pick` 更改为 `edit`。 完成调整后,保存并关闭编辑器。Git 会执行你指定的操作。 4. 如果你修改了某个提交,Git 会暂停 rebase 过程,允许你编辑该提交。在这种情况下,进行必要的更改,然后执行以下命令以继续 rebase: “` git add git commit –amend git rebase –continue “` 5. 当 rebase 完成后,切换回 master 分支: “` git checkout master “` 6. 将 dev 分支合并到 master 分支: “` git merge dev “` 7. 将更改推送到远程仓库: “` git push “` 通过这个过程,你可以确保在合并时提交记录更加规整,而且不会丢失任何代码更改。请注意,这种方法会改变提交历史,所以在进行此操作时务必小心,确保其他团队成员了解你的操作。

在自己的电脑运行清华开源语言模型 ChatGLM-6B

有人说 AIGC 用 2 年时间走完了互联网 10 年的路,因为大家看到的是围绕 AI 的产品在最近如雨后春笋般涌现,看不到的事各领域大佬早在几年前已经开始了相关布局。

过去这段时间 AIGC 市场竞争异常激烈,各大厂纷纷祭出自家的大预言模型,在这场国产 AI 大乱斗中,清华大学于 2023 年 3 月 28 日发布的开源通用语言模型 —— ChatGLM-6B 显得格外不同,因为这是一款开源的语言模型。

ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

每个人都可以将源代码和模型下载到自己的电脑上运行。这也许才是未来 AI 正确的打开方式,避免一家独大造成垄断格局。

我尝试在自己的 MacBook Air M1 和一台 Linux 虚拟机平台运行了该模型,并记录了运行过程和最终效果。

详细请看:https://skybyte.me/74.html

确认当前终端是否运行在 LXC 容器

要确定当前运行的系统是否在 LXC 容器中,可以检查特定的环境变量和文件。以下是一种方法,通过查看 /proc/1/environ 文件来判断:

在终端中运行以下命令:

cat /proc/1/environ | tr '\0' '\n' | grep '^container='

观察输出的内容。如果输出包含 container=lxc,则表示您当前正在 LXC 容器内运行。例如:

container=lxc

如果输出为空,那么您可能不在 LXC 容器内运行。

另一种方法是检查 /proc/1/cgroup 文件,类似于检查 Docker 容器的方法:

cat /proc/1/cgroup

观察输出的内容。如果您看到与 LXC 相关的内容(如 lxc),则表示您当前正在 LXC 容器内运行。例如:

10:memory:/lxc/1234
9:devices:/lxc/1234
...

请注意,这些方法主要适用于 LXC 容器,而不一定适用于其他容器技术(如 Docker、Podman 等)。如果您使用的是其他容器技术,可能需要查找特定于该技术的文件或环境变量。