git 全局配置查看
2021-12-25 tech git 1 mins 1 图 162 字
有时候想确认一下git是不是配置了正确的全局代理,使用如下命令即可:
git config --list
另外,如果你是在某个git仓库下运行,除了打印全局配置信息,还会打印这个仓库的git配置信息。
有时候想确认一下git是不是配置了正确的全局代理,使用如下命令即可:
git config --list
另外,如果你是在某个git仓库下运行,除了打印全局配置信息,还会打印这个仓库的git配置信息。
官方手册里也有,因为偶尔也会用到,每次都懒得找,写个文章做记录。
以下两种方式效果一样,v2和v3都ok:
app:
images: kelvinblood/kelu
extra_hosts:
kelu.org: 1.2.3.4
kelu.local: 4.3.2.1
或者
extra_hosts:
- "somehost:162.242.195.82"
- "otherhost:50.31.209.229"
我一般使用可视化的 ui 工具来查看某个文件的历史,但也免不了有的场景只有命令行工具。
1. 使用 git log 查看历史记录并获取前一个版本的 commit hash
git log -- file_name
git log --stat #展示每笔提交更详细的信息
这会显示该文件的提交历史记录,可以看到每次修改的 commit hash。
获取到 commit hash 后,使用以下命令查看文件的上一个版本:
git show commit_hash:file_name
2. 快速查看某个文件的上一个版本
如果只想查看上一个版本,而不想手动查找 commit hash,可以使用下面的命令(HEAD^ 指上一个提交):
git show HEAD^:file_name
这个命令直接展示文件在上一个提交时的内容。
3. 对比文件与上一个版本的差异
如果想要比较文件当前版本与上一个版本的差异,可以使用 git diff:
git diff HEAD^ HEAD -- file_name
来自windows下的解压乱码真是痛:
zip格式没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,Linux下的默认编码是UTF8。
可以使用 unzip-iconv 这个补丁包,指定解压的编码格式。
$ wget https://github.com/ikohara/dpkg-unzip-iconv/archive/refs/heads/main.zip
$ unzip main.zip
$ cd main
$ make source
$ sudo make build-dep
$ make
$ sudo make install
更详细的说明参考GitHub上的项目信息: https://github.com/ikohara/dpkg-unzip-iconv
unzip -O cp936 xxx.zip
接着上一篇《Linux下的 /dev/shm》,应用在docker中也会使用到容器里的shm。但创建 docker 的时候默认shm大小为64M,如果应用使用了比较大的shm,则很可能会崩溃。此时解决有2个办法:
挂载宿主机的shm,完美。
services:
app:
image: kelvinblood/app
...
volumes:
- /dev/shm:/dev/shm
运行。
services:
app:
image: kelvinblood/app
...
shm_size: 512mb
shm_size: '2gb'
或者:
docker run -it --shm-size="1g" ubuntu
由于上述几个原因,我在本机安装了 selenium,希望能更了解一些selenium,便有了本文。虽然最后我从其他地方解决了遇到的问题,这篇文章也就没有了实际意义,但还是记录下来。
selenium官方没有说明java使用的版本,我决定使用最新的版本。
https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.deb
Standalone
java -jar selenium-server-<version>.jar standalone
java -jar selenium-server-4.1.0.jar standalone --host 0.0.0.0 --port 4445
Hub and Node
java -jar selenium-server-4.1.0.jar hub --host 0.0.0.0 --port 4445
java -jar selenium-server-4.1.0.jar node
java -jar selenium-server-4.1.0.jar node --detect-drivers true --publish-events tcp://127.0.0.1:4442 --subscribe-events tcp://127.0.0.1:4443
hub/node 用容器化的方式弄
docker pull selenium/hub:4.1.0
docker pull selenium/node-chrome:96.0
node-chrome:
image: selenium/node-chrome:96.0
restart: always
network_mode: bridge
container_name: node-chrome
ports:
- "5901:5900"
environment:
SE_EVENT_BUS_HOST: 192.168.1.133
SE_EVENT_BUS_PORT: 4445
SE_EVENT_BUS_PUBLISH_PORT: 4442
SE_EVENT_BUS_SUBSCRIBE_PORT: 4443
NODE_MAX_SESSION: 4
NODE_MAX_INSTANCES: 4
Distributed
Docker
https://developers.google.com/web/tools/puppeteer/troubleshooting#tips
默认情况下,Docker 运行一个/dev/shm
共享内存空间为 64MB的容器。这对于 Chrome来说 通常太小,并且会导致 Chrome 在渲染大页面时崩溃。
要修复,请运行容器 docker run --shm-size=1gb
以增加/dev/shm
.
从 Chrome 65 开始可以使用--disable-dev-shm-usage
标志启动浏览器。这会将共享内存文件写入/tmp
而不是/dev/shm
.
const browser = await puppeteer.launch({
args: ['--disable-dev-shm-usage'],
});
尤其是如果你的容器需要跑在kubernetes上,最好还是以添加参数--disable-dev-shm-usage
这种方式运行了。