安固途径

知识来源于感觉和经验

一种基于 git 的不推送到远程的代码同步方法

2023-12-15, 星期五|
linux软件

摘要

本文介绍了一种同步代码的方法,适用于直接在远程服务器上调试,并修改了代码。但是因为服务器上没有配置 git 用户信息,或无推权限,而需要将修改的代码同步到本地电脑的开发环境上,如何不走 git remote repo 推送达到同步的目的。

正文

一种利用 git apply 同步两端 git 文件变动的方法。

有这样一种工作场景,有一个问题需要调试在线上。这个问题如果直接在线上调试则比较容易定位和修复,因为问题是在生产环境发现的,所以在生产环境复现相较于本地更容易,所以直接在服务器上修改代码然后启动并确认修复。假设现在代码经过验证是没有问题的,能够接受,那么接下来的事情就是把刚刚修复的代码提交记录并且推送到远程 git 仓库上。然而服务器上 git 客户端没有配置 user.name 和 user.email 信息。甚至有可能服务器上的这个仓库没有远程的推送权限。好的,那么你怎么将更新的代码同步到远程仓库呢?我知道可以通过设置 user.name 等信息配置一下 git 客户端,并且最多增加一个推送的权限来解决从服务器推送代码的问题。但是在服务器上配置 git 用户名和邮箱有些

...
阅读全文

Nextjs 应用 clarity 报错

2023-11-22, 星期三|
前端修复软件

Nextjs 应用 clarity 报错

xxxxxx:1 Uncaught TypeError: a[c] is not a function

解决办法,将 Script 的 id 属性由 clarity 改为 clarityLoader

可能的原因是 Script 组件加载的 clarity 的脚本内部包含了对于 clarity 元素的查找,id 为 clartiy,而导致查找失败。

参考:

clarity

...
阅读全文

org-mode 导出 html 不 track 进 git 版本

2023-11-21, 星期二|
软件

git 添加对 org-mode 导出的 html 类型的文件的忽略。

编辑 .gitignore, 加入 *.org.html

每一个编辑的 org-mode 的 test.org 文件,加入 EXPORT_FILE_NAME 变量

#+EXPORT_FILE_NAME: test.org.html

这样,文件 test.org 通过C-c C-e导出成 html 的文件 test.org.html 就不会被 git 加入版本控制了。

...
阅读全文

当 emacs in tmux, 如何设置 tmux 的快键捷

2023-11-03, 星期五|
windows软件

tmux 的 prefix C-b 和 emacs 的 back command c-b 冲突了怎么办?

当 emacs in tmux, 如何设置 tmux 的快捷键?

比如设置 tmux 的快捷键为 C-M-b,如下:

tmux set-option prefix C-M-b                                                                                                 

但是在 windows 应用程序中,运行这个快捷键好像会有一点问题,就是说 Ctrl 和 Meta 键没有能够同时触发。

所以可以尝试绑定一下快捷键 C-F1

tmux set-option prefix C-F1                                                                                                  

这样,在 windows 中运行快捷键 Ctrl+F1 就没有问题啦。

...
阅读全文

nextjs Script 组件的常见问题

2023-10-25, 星期三|
前端开发

有哪些问题

1. 如果脚本的执行有依赖关系

可能等待执行的脚本先于其所依赖的脚本加载完成并执行,导致错误的产生。

这种情形出现的原因在于这些脚本是后面通过 Script 动态加载的,而非刚开始就写入了 HTML 中。所以根据浏览器渲染的原理,script 加载的时间是动态的,需要控制代码来确保。

2. 如果某段 src 引入的代码加载过,那么就不会重新加载了,不会触发加载完成回调

简言之,若先后引入了同样的 src, 那么后加载的代码不会再加载一遍,并且不会触发 onLoad 回调。

而且,如果是通过 children 写入 Script, 而非通过 src 属性,这个时候没法判断两段脚本是否需要利用缓存,有可能会执行两边逻辑。所以需要通过 id 字段来区分,以避免上述情况。

为什么会出现上述情况

什么时候会出现上面的这些问题,和应用 Script 组件的场景有关系。

在 nextjs 应用中,当依赖的某个 sdk, 又需要依赖另外的下层 sdk 时就有可能出现上面的问题。比如当动态加载某个 sdk, 但是这个 sdk 需要依赖 react,而 react 也是动态加载的,就有可能出现

...
阅读全文