https://github.com/cherishyuan/blogRSS feed of cherishyuan's blog2023-02-04T08:23:27.741089+00:00cherishyuanxu.yuquan@outlook.compython-feedgenhttps://github.com/cherishyuan/blog/issues/6如何规范你的Git commit?2023-02-04T08:23:27.988707+00:00

本文转载来源:[https://zhuanlan.zhihu.com/p/182553920](https://www.kezez.com/go/aHR0cHM6Ly96aHVhbmxhbi56aGlodS5jb20vcC8xODI1NTM5MjA)

**简介:**commit message 应该如何写才更清晰明了?团队开发中有没有遇到过让人头疼的 git commit?本文分享在 git commit 规范建设上的实践,规定了 commit message 的格式,并通过 webhook 在提交时进行监控,避免不规范的代码提交。

背景

Git 每次提交代码都需要写 commit message,否则就不允许提交。一般来说,commit message 应该清晰明了,说明本次提交的目的,具体做了什么操作…… 但是在日常开发中,大家的 commit message 千奇百怪,中英文混合使用、fix bug 等各种笼统的 message 司空见怪,这就导致后续代码维护成本特别大,有时自己都不知道自己的 fix bug 修改的是什么问题。基于以上这些问题,我们希望通过某种方式来监控用户的 git commit message,让规范更好的服务于质量,提高大家的研发效率。

规范建设

规范梳理

初期我们在互联网上搜索了大量有关 git commit 规范的资料,但只有 Angular 规范是目前使用最广的写法,比较合理和系统化,并且有配套的工具(IDEA 就有插件支持这种写法)。最后综合阿里巴巴高德地图相关部门已有的规范总结出了一套 git commit 规范。

commit message 格式

<type>(<scope>): <subject>

type (必须)

用于说明 git commit 的类别,只允许使用下面的标识。

feat:新功能(feature)。

fix/to:修复 bug,可以是 QA 发现的 BUG,也可以是研发自己发现的 BUG。

  • fix:产生diff并自动修复此问题。适合于一次提交直接修复问题
  • to:只产生diff不自动修复此问题。适合于多次提交。最终修复问题提交时使用fix

docs:文档(documentation)。

style:格式(不影响代码运行的变动)。

refactor:重构(即不是新增功能,也不是修改 bug 的代码变动)。

perf:优化相关,比如提升性能、体验。

test:增加测试。

chore:构建过程或辅助工具的变动。

revert:回滚到上一个版本。

merge:代码合并。

sync:同步主线或分支的 Bug。

scope (可选)

scope 用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

例如在 Angular,可以是 location,browser,compile,compile,rootScope, ngHref,ngClick,ngView 等。如果你的修改影响了不止一个 scope,你可以使用 * 代替。

subject (必须)

subject 是 commit 目的的简短描述,不超过 50 个字符。

建议使用中文(感觉中国人用中文描述问题能更清楚一些)。

  • 结尾不加句号或其他标点符号。
  • 根据以上规范git commit message将是如下的格式:
fix(DAO):用户查询缺少username属性
feat(Controller):用户查询接口开发

以上就是我们梳理的 git commit 规范,那么我们这样规范 git commit 到底有哪些好处呢?

  • 便于程序员对提交历史进行追溯,了解发生了什么情况。
  • 一旦约束了commit message,意味着我们将慎重的进行每一次提交,不能再一股脑的把各种各样的改动都放在一个git commit里面,这样一来整个代码改动的历史也将更加清晰。
  • 格式化的commit message才可以用于自动化输出Change log。

监控服务

通常提出一个规范之后,为了大家更好的执行规范,就需要进行一系列的拉通,比如分享给大家这种规范的优点、能带来什么收益等,在大家都认同的情况下最好有一些强制性的措施。当然 git commit 规范也一样,前期我们分享完规范之后考虑从源头进行强制拦截,只要大家提交代码的 commit message 不符合规范,直接不能提交。但由于代码仓库操作权限的问题,我们最终选择了使用 webhook 通过发送警告的形式进行监控,督促大家按照规范执行代码提交。除了监控 git commit message 的规范外,我们还加入了大代码量提交监控和删除文件监控,减少研发的代码误操作。

整体流程

image.png

image.png

  • 服务注册:服务注册主要完成代码库相关信息的添加。
  • 重复校验:防止merge request再走一遍验证流程。
  • 消息告警:对不符合规范以及大代码量提交、删除文件等操作发送告警消息。
  • DB:存项目信息和git commit信息便于后续统计commit message规范率。

webhook 是作用于代码库上的,用户提交 git commit,push 到仓库的时候就会触发 webhook,webhook 从用户的 commit 信息里面获取到 commit message,校验其是否满足 git commit 规范,如果不满足就发送告警消息;如果满足规范,调用 gitlab API 获取提交的 diff 信息,验证提交代码量,验证是否有重命名文件和删除文件操作,如果存在以上操作还会发送告警消息,最后把所有记录都入库保存。

以上就是我们整个监控服务的相关内容,告警信息通过如下形式发送到对应的钉钉群里:

image.png

image.png

image.png

image.png

image.png

image.png

我们也有整体 git commit 的统计,统计个人的提交次数、不规范次数、不规范率等如下图:

image.png

image.png

未来思考

git hooks 分为客户端 hook 和服务端 hook。客户端 hook 又分为 pre-commit、prepare-commit-msg、commit-msg、post-commit 等,主要用于控制客户端 git 的提交工作流。用户可以在项目根目录的.git 目录下面配置使用,也可以配置全局 git template 用于个人 pc 上的所有 git 项目使用。服务端 hook 又分为 pre-receive、post-receive、update,主要在服务端接受提交对象时进行调用。

以上这种采用 webhook 的形式对 git commit 进行监控就是一种 server 端的 hook,相当于 post-receive。这种方式并不能阻止代码的提交,它只是通过告警的形式来约束用户的行为,但最终不规范的 commit message 还是被提交到了服务器,不利于后面 change log 的生成。由于公司代码库权限问题,我们目前只能添加这种 post-receive 类型的 webhook。如大家有更高的代码库权限,可以采用 server 端 pre-receive 类型的 webhook,直接拒绝不规范的 git commit message。只要 git commit 规范了,我们甚至可以考虑把代码和 bug、需求关联等等。

当然这块我们也可以考虑客户端的 pre-commit,pre-commit 在 git add 提交之后,然后执行 git commit 时执行,脚本执行没错就继续提交,反之就会驳回。客户端 git hooks 位于每个 git 项目下的隐藏文件.git 中的 hooks 文件夹里。我们可以通过修改这块的配置文件添加我们的规则校验,直接阻止不规范 message 的提交,也可以通过客户端 commit-msg 类型的 hook 进行拦截,把不规范扼杀在萌芽之中。修改每个 git 项目下面.git 目录中的 hooks 文件大家肯定觉得浪费时间,其实这里可以采用配置全局 git template 来完成。但是这又会涉及到 hooks 配置文件同步的问题。hooks 配置文件在本地,如何让 hooks 配置文件的修改能同步到所有使用的项目又成为一个问题。所以使用服务端 hook 还是客户端 hook 需要根据具体需求做适当的权衡。

git hook 不光可以用来做规范限制,它还可以做更多有意义的事情。一次 git commit 提交的信息量很大,有作者信息、代码库信息、commit 等信息。我们的监控服务就根据作者信息做了 git commit 的统计,这样不仅可以用来监控 commit message 的规范性,也可以用来监控大家的工作情况。我们也可以把 git commit 和相关的 bug 关联起来,我们查看 bug 时就可以查看解决这个 bug 的代码修改,很有利于相关问题的追溯。当然我们用同样的方法也可以把 git commit 和相关的需求关联起来,比如我们定义一种格式 feat *786990(需求的 ID),然后在 git commit 的时候按照这种格式提交,webhook 就可以根据这种格式把需求和 git commit 进行关联,也可以用来追溯某个需求的代码量,当然这个例子不一定合适,但足以证明 git hook 功能之强大,可以给我们的流程规范带来很大的便利。

总结

编码规范、流程规范在软件开发过程中是至关重要的,它可以使我们在开发过程中少走很多弯路。Git commit 规范也是如此,确实也是很有必要的,几乎不花费额外精力和时间,但在之后查找问题的效率却很高。作为一名程序员,我们更应注重代码和流程的规范性,永远不要在质量上将就。

]]>
2023-01-03T09:21:48+00:00
https://github.com/cherishyuan/blog/issues/4vim使用2023-02-04T08:23:28.144139+00:00常用的插件:

" 快速跳转
Plug 'easymotion/vim-easymotion'
" 模糊查找文件,buffer,tag等
Plug 'Yggdroot/LeaderF'
" 对齐代码的虚线,写Python尤其需要
Plug 'Yggdroot/indentLine'
" 用不同颜色高亮单词或选中块
Plug 'Yggdroot/vim-mark'
" grep 文本,用过ag.vim, ack.vim还有grepxxx等
Plug 'dyng/ctrlsf.vim'
"亮光标处单词在文件的所有位置,k激活                                             
 Plug 'lfv89/vim-interestingwords'
"彩虹括号                                                                      
 Plug 'luochen1990/rainbow' 

相关配置:

 "彩虹括号                                                                       
 let g:rainbow_active = 1                                                        
                                                                                
 "vim-interestingwords 插件配置                                                  
 let g:interestingWordsGUIColors = ['#8CCBEA', '#A4E57E', '#FFDB72', '#FF7272', '    #FFB3FF', '#9999FF']                                                            
 let g:interestingWordsTermColors = ['154', '121', '211', '137', '214', '222']   
 let g:interestingWordsRandomiseColors = 1                                       
                                                                              
 "indentline config                                                              
let g:indentLine_setColors = 0                                                  
let g:indentLine_char_list = ['|', '¦', '┆', '┊']  
]]>
2022-11-16T11:44:21+00:00
https://github.com/cherishyuan/blog/issues/3Linux常用命令2023-02-04T08:23:28.275934+00:00关机/重启/注销
常用命令 作用
shutdown -h now 即刻关机
shutdown -h 10 10分钟后关机
shutdown -h 11:00 11:00关机
shutdown -h +10 预定时间关机(10分钟后)
shutdown -c 取消指定时间关机
shutdown -r now 重启
shutdown -r 10 10分钟之后重启
shutdown -r 11:00 定时重启
reboot 重启
init 6 重启
init 0 ⽴刻关机
telinit 0 关机
poweroff ⽴刻关机
halt 关机
sync buff数据同步到磁盘
logout 退出登录Shell

系统信息和性能查看

常用命令 作用
uname -a 查看内核/OS/CPU信息
uname -r 查看内核版本
uname -m 查看处理器架构
arch 查看处理器架构
hostname 查看计算机名
who 显示当前登录系统的⽤户
who am i 显示登录时的⽤户名
whoami 显示当前⽤户名
cat /proc/version 查看linux版本信息
cat /proc/cpuinfo 查看CPU信息
cat /proc/interrupts 查看中断
cat /proc/loadavg 查看系统负载
uptime 查看系统运⾏时间、⽤户数、负载
env 查看系统的环境变量
lsusb -tv 查看系统USB设备信息
lspci -tv 查看系统PCI设备信息
lsmod 查看已加载的系统模块
grep MemTotal /proc/meminfo 查看内存总量
grep MemFree /proc/meminfo 查看空闲内存量
free -m 查看内存⽤量和交换区⽤量
date 显示系统⽇期时间
cal 2021 显示2021⽇历表
top 动态显示cpu/内存/进程等情况
vmstat 1 20 每1秒采⼀次系统状态,采20次
iostat 查看io读写/cpu使⽤情况
查看io读写/cpu使⽤情况 查询cpu使⽤情况(1秒⼀次,共10次)
sar -d 1 10 查询磁盘性能

磁盘和分区

常用命令 作用
fdisk -l 查看所有磁盘分区
swapon -s 查看所有交换分区
df -h 查看磁盘使⽤情况及挂载点
df -hl 同上
du -sh /dir 查看指定某个⽬录的⼤⼩
du -sk * | sort -rn 从⾼到低依次显示⽂件和⽬录⼤⼩
mount /dev/hda2 /mnt/hda2 挂载hda2盘
mount -t ntfs /dev/sdc1 /mnt/usbhd1 指定⽂件系统类型挂载(如ntfs)
mount -o loop xxx.iso /mnt/cdrom 挂 载 iso ⽂ 件
umount -v /dev/sda1 通过设备名卸载
umount -v /mnt/mymnt 通过挂载点卸载
fuser -km /mnt/hda1 强制卸载(慎⽤)

⽤户和⽤户组

常用命令 作用
useradd codesheep 创建⽤户
userdel -r codesheep 删除⽤户
usermod -g group_name user_name 修改⽤户的组
usermod -aG group_name user_name 将⽤户添加到组
usermod -s /bin/ksh -d /home/codepig –g dev codesheep 修改⽤户codesheep的登录Shell、主⽬录以及⽤户组
groups test 查看test⽤户所在的组
groupadd group_name 创建⽤户组
groupdel group_name 删除⽤户组
groupmod -n new_name old_name 重命名⽤户组
su - user_name su - user_name
passwd 修改⼝令
passwd codesheep 修改某⽤户的⼝令
w 查看活动⽤户
id codesheep 查看指定⽤户codesheep信息
last 查看⽤户登录⽇志
crontab -l 查看当前⽤户的计划任务
cut -d: -f1 /etc/passwd 查看系统所有⽤户
cut -d: -f1 /etc/group 查看系统所有组

⽹络和进程管理

常用命令 作用
ifconfig 查看⽹络接⼝属性
ifconfig eth0 查看某⽹卡的配置
route -n 查看路由表
netstat -lntp 查看所有监听端⼝
netstat -antp 查看已经建⽴的TCP连接
netstat -lutp 查看TCP/UDP的状态信息
ifup eth0 启⽤eth0⽹络设备
ifdown eth0 禁⽤eth0⽹络设备
iptables -L 查看iptables规则
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 配置ip地址
dhclient eth0 以dhcp模式启⽤eth0
route add -net 0/0 gw Gateway_IP 配置默认⽹关
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 配置静态路由到达⽹络'192.168.0.0/16'
route del 0/0 gw Gateway_IP 删除静态路由
hostname 查看主机名
host www.baidu.com 解析主机名
nslookup www.baidu.com 查询DNS记录,查看域名解析是否正常
ps -ef 查看所有进程
ps -ef | grep codesheep 过滤出你需要的进程
kill -s name kill指定名称的进程
kill -s pid kill指定pid的进程
top 实时显示进程状态
vmstat 1 20 每1秒采⼀次系统状态,采20次
iostat iostat
sar -u 1 10 查询cpu使⽤情况(1秒⼀次,共10次)
sar -d 1 10 查询磁盘性能

常⻅系统服务命令

常用命令 作用
chkconfig --list 列出系统服务
service <服务名> status 查看某个服务
service <服务名> start 启动某个服务
service <服务名> stop 终⽌某个服务
service <服务名> restart 重启某个服务
systemctl status <服务名> 查看某个服务
systemctl start <服务名> 启动某个服务
systemctl stop <服务名> 终⽌某个服务
systemctl restart <服务名> 重启某个服务
systemctl enable <服务名> 关闭⾃启动
systemctl disable <服务名> 关闭⾃启动

⽂件和⽬录操作

常用命令 作用
cd <⽬录名> 进⼊某个⽬录
cd .. 回上级⽬录
cd ../.. 回上两级⽬录
cd 进个⼈主⽬录
cd - 回上⼀步所在⽬录
pwd 显示当前路径
ls 查看⽂件⽬录列表
ls -F 查看⽬录中内容(显示是⽂件还是⽬录)
ls -l 查看⽂件和⽬录的详情列表
ls -a 查看隐藏⽂件
ls -lh 查看⽂件和⽬录的详情列表(增强⽂件⼤⼩易读性)
ls -lSr 查看⽂件和⽬录列表(以⽂件⼤⼩升序查看)
tree 查看⽂件和⽬录的树形结构
mkdir <⽬录名> 创建⽬录
mkdir dir1 dir2 同时创建两个⽬录
mkdir -p /tmp/dir1/dir2 创建⽬录树
rm -f file1 删除'file1'⽂件
rmdir dir1 删除'dir1'⽬录
rm -rf dir1 删除'dir1'⽬录和其内容
rm -rf dir1 dir2 同时删除两个⽬录及其内容
mv old_dir new_dir 重命名/移动⽬录
cp file1 file2 复制⽂件
cp dir/* . 复制某⽬录下的所有⽂件⾄当前⽬录
cp -a dir1 dir2 复制⽬录
cp -a /tmp/dir1 . 复制⼀个⽬录⾄当前⽬录
ln -s file1 link1 创建指向⽂件/⽬录的软链接
ln file1 lnk1 创建指向⽂件/⽬录的物理链接
find / -name file1 从跟⽬录开始搜索⽂件/⽬录
find / -user user1 搜索⽤户user1的⽂件/⽬录
find /dir -name *.bin 在⽬录/dir中搜带有.bin后缀的⽂件
locate <关键词> 快速定位⽂件
locate *.mp4 寻找.mp4结尾的⽂件
whereis <关键词> 显示某⼆进制⽂件/可执⾏⽂件的路径
which <关键词> 查找系统⽬录下某的⼆进制⽂件
chmod ugo+rwx dir1 设置⽬录所有者(u)、群组(g)及其他⼈(o)的读(r)写(w)执⾏(x)权限
chmod go-rwx dir1 移除群组(g)与其他⼈(o)对⽬录的读写执⾏权限
chown user1 file1 改变⽂件的所有者属性
chown -R user1 dir1 改变⽬录的所有者属性
chgrp group1 file1 改变⽂件群组
chown user1:group1 file1 改变⽂件的所有⼈和群组

⽂件查看和处理

常用命令 作用
cat file1 查看⽂件内容
cat -n file1 查看内容并标示⾏数
tac file1 从最后⼀⾏开始反看⽂件内容
more file1 more file1
less file1 类似more命令,但允许反向操作
head -2 file1 查看⽂件前两⾏
tail -2 file1 查看⽂件后两⾏
tail -f /log/msg 实时查看添加到⽂件中的内容
grep codesheep hello.txt 在⽂件hello.txt中查找关键词codesheep
grep ^sheep hello.txt 在⽂件hello.txt中查找以sheep开头的内容
grep [0-9] hello.txt 选择hello.txt⽂件中所有包含数字的⾏
sed 's/s1/s2/g' hello.txt 将hello.txt⽂件中的s1替换成s2
sed '/^$/d' hello.txt 从hello.txt⽂件中删除所有空⽩⾏
sed '/ *#/d; /^$/d' hello.txt 从hello.txt⽂件中删除所有注释和空⽩⾏
sed -e '1d' hello.txt 从⽂件hello.txt 中排除第⼀⾏
sed -n '/s1/p' hello.txt 查看只包含关键词"s1"的⾏
sed -e 's/ *$//' hello.txt 删除每⼀⾏最后的空⽩字符
sed -e 's/s1//g' hello.txt 从⽂档中只删除词汇s1并保留剩余全部
sed -n '1,5p;5q' hello.txt 查看从第⼀⾏到第5⾏内容
sed -n '5p;5q' hello.txt 查看第5⾏
paste file1 file2 合并两个⽂件或两栏的内容
paste -d '+' file1 file2 合并两个⽂件或两栏的内容,中间⽤"+"区分
sort file1 file2 排序两个⽂件的内容
comm -1 file1 file2 ⽐较两个⽂件的内容(去除'file1'所含内容)
comm -2 file1 file2 ⽐较两个⽂件的内容(去除'file2'所含内容
comm -3 file1 file2 ⽐较两个⽂件的内容(去除两⽂件共有部分)

打包和解压

常用命令 作用
zip xxx.zip file 压缩⾄zip包
zip -r xxx.zip file1 file2 dir1 将多个⽂件+⽬录压成zip包
unzip xxx.zip 解压zip包
tar -cvf xxx.tar file 创建⾮压缩tar包
tar -cvf xxx.tar file1 file2 dir1 将多个⽂件+⽬录打tar包
tar -tf xxx.tar 查看tar包的内容
tar -xvf xxx.tar 解压tar包
tar -xvf xxx.tar -C /dir 将tar包解压⾄指定⽬录
tar -cvfj xxx.tar.bz2 dir 创建bz2压缩包
tar -jxvf xxx.tar.bz2 解压bz2压缩包
tar -cvfz xxx.tar.gz dir 创建gzip压缩包
tar -zxvf xxx.tar.gz 解压gzip压缩包
bunzip2 xxx.bz2 解压bz2压缩包
bzip2 filename 压缩⽂件
gunzip xxx.gz 解压gzip压缩包
gzip filename 压缩⽂件
gzip -9 filename 最⼤程度压缩

RPM包管理命令

常用命令 作用
rpm -qa 查看已安装的rpm包
rpm -q pkg_name 查询某个rpm包
rpm -q --whatprovides xxx 显示xxx功能是由哪个包提供的
rpm -q --whatrequires xxx 显示xxx功能被哪个程序包依赖的
rpm -q --changelog xxx 显示xxx包的更改记录
rpm -qi pkg_name 查看⼀个包的详细信息
rpm -qd pkg_name 查询⼀个包所提供的⽂档
rpm -qc pkg_name 查看已安装rpm包提供的配置⽂件
rpm -ql pkg_name 查看⼀个包安装了哪些⽂件
rpm -qf filename 查看某个⽂件属于哪个包
rpm -qR pkg_name 查询包的依赖关系
rpm -ivh xxx.rpm 安装rpm包
rpm -ivh --test xxx.rpm 测试安装rpm包
rpm -ivh --nodeps xxx.rpm 安装rpm包时忽略依赖关系
rpm -e xxx 卸载程序包
rpm -Fvh pkg_name 升级确定已安装的rpm包
rpm -Uvh pkg_name 升级rpm包(若未安装则会安装)
rpm -V pkg_name RPM包详细信息校验

YUM包管理命令

常用命令 作用
yum repolist enabled 显示可⽤的源仓库
yum search pkg_name 搜索软件包
yum install pkg_name 下载并安装软件包
yum install --downloadonly pkg_name 只 下 载 不 安 装
yum list 显示所有程序包
yum list installed 查看当前系统已安装包
yum list updates 查看可以更新的包列表
yum check-update 查看可升级的软件包
yum update 更新所有软件包
yum update pkg_name 升级指定软件包
yum deplist pkg_name 列出软件包依赖关系
yum remove pkg_name 删除软件包
yum clean all 清除缓存
yum clean packages 清除缓存的软件包
yum clean headers 清除缓存的header

DPKG包管理命令

常用命令 作用
dpkg -c xxx.deb 列出deb包的内容
dpkg -i xxx.deb 安装/更新deb包
dpkg -r pkg_name 移除deb包
dpkg -P pkg_name 移除deb包(不保留配置)
dpkg -l 查看系统中已安装deb包
dpkg -l pkg_name 显示包的⼤致信息
dpkg -L pkg_name 查看deb包安装的⽂件
dpkg -s pkg_name 查看包的详细信息
dpkg –unpack xxx.deb 解开deb包的内容

APT软件⼯具

常用命令 作用
apt-cache search pkg_name 搜索程序包
apt-cache show pkg_name 获取包的概览信息
apt-get install pkg_name 安装/升级软件包
apt-get purge pkg_name 卸载软件(包括配置)
apt-get remove pkg_name 卸载软件(不包括配置)
apt-get update 更新包索引信息
apt-get upgrade 更新已安装软件包
apt-get clean 清理缓存

文件夹嵌套

📂 ~/.config/nvim ├── 📁 after ├── 📁 ftplugin ├── 📂 lua │ ├── 🌑 myluamodule.lua │ └── 📂 other_modules │ ├── 🌑 anothermodule.lua │ └── 🌑 init.lua ├── 📁 pack ├── 📁 plugin ├── 📁 syntax └── 🇻 init.vim

]]>
2022-06-05T07:11:03+00:00
https://github.com/cherishyuan/blog/issues/2Git、Tmux、vim快捷键2023-02-04T08:23:28.465939+00:00快捷键

git commit 图标使用 — emoji 指南

emoji 表情 emoji 代码 commit 说明
🎨 (调色板) :art: 改进代码结构/代码格式
⚡ (闪电) 🐎 (赛马) :zap: :racehorse: 提升性能
🔥 (火焰) :fire: 移除代码或文件
🐛 (bug) :bug: 修复 bug
🚑 (急救车) :ambulance: 重要补丁
✨ (火花) :sparkles: 引入新功能
📝 (备忘录) :memo: 撰写文档
🚀 (火箭) :rocket: 部署功能
💄 (口红) :lipstick: 更新 UI 和样式文件
🎉 (庆祝) :tada: 初次提交
✅ (白色复选框) :white_check_mark: 增加测试
🔒 (锁) :lock: 修复安全问题
🍎 (苹果) :apple: 修复 macOS 下的内容
🐧 (企鹅) :penguin: 修复 Linux 下的内容
🏁 (旗帜) :checked_flag: 修复 Windows 下的内容
🤖 (Android机器人) :robot: 修复Android上的某些内容。
🍏 (绿苹果) :green_apple: 解决iOS上的某些问题。
🔖 (书签) :bookmark: 发行/版本标签
🚨 (警车灯) :rotating_light: 移除 linter 警告
🚧 (施工) :construction: 工作进行中
💚 (绿心) :green_heart: 修复 CI 构建问题
⬇️ (下降箭头) :arrow_down: 降级依赖
⬆️ (上升箭头) :arrow_up: 升级依赖
📌 (图钉) :pushpin: 将依赖关系固定到特定版本。
👷 (工人) :construction_worker: 添加 CI 构建系统
📈 (上升趋势图) :chart_with_upwards_trend: 添加分析或跟踪代码
♻️ (循环箭头) :recycle: 重构代码。
🔨 (锤子) :hammer: 重大重构
➖ (减号) :heavy_minus_sign: 减少一个依赖
🐳 (鲸鱼) :whale: Docker 相关工作

电脑快捷键

  1. 使用emoji:Win+;
  2. 创建虚拟桌面:Win+Ctrl+D 切换桌面Win+Ctrl+←/→
  3. 快速锁定屏幕:Win+L
  4. 应用切换:Alt+Tab或者Win+Tab
  5. 应用程序分屏:Win+←/→
  6. 剪贴板功能:Win+V 截图功能Win+Shift+S
  7. 新建:Ctrl+N
  8. 鼠标复制文件:Ctrl+鼠标拖动
  9. 快速关闭网页:Ctrl+W 恢复网页Ctrl+Shift+T
  10. 返回桌面:Win+D
  11. 运行:Win+R 自动关机:shutdown -s -t XX 取消自动关机:shutdown -a
  12. 搜索功能:Win+S
  13. 投屏:Win+P 蓝牙连接:Win+K
  14. 快速关机:Win+X+U+U
  15. 任务管理器:Ctrl+Alt+./Delete或者Ctrl+Shift+ESC
  16. 截屏:Ctrl+Shift+S

Tmux的快捷键

vimuim快捷键

移动

按键

功能

j

向下移动

k

向上移动

h

向左移动

l

向右移动

跳转

按键

功能

gg

跳转到页面的底部

G

跳转到页面的底部

d

向下翻页

u

向上翻页

r

重新载入

gu

跳转到父页面

yy

拷贝当前页面的URL到剪贴板

yf

拷贝某一个URL到剪贴板

导航历史

按键

功能

H

回退上一个历史页面(相当于浏览器中的向左箭头)

L

回到下一个历史页面(相当于浏览器的向右箭头)

标签页操作

按键

功能

K, gt

跳转到右边的一个标签页

J, gT

跳转到左边的一个标签页

t

创建一个新的标签页

x

关闭当前的标签页

X

恢复刚刚关闭的标签页

?

显示命令的帮助提示(再按一次关闭)

Git的使用

![[Git命令.png]]

git .gitignore文件追加想忽略的文件不成功 .gitignore忽略不成功

命令: git rm -r --cached . #清除所有缓存

git add . #重新添加到暂存区

git commit -m 'update .gitignore' #从新提交

git status 查看 则在.gitignore文件中新追加的想忽略的文件夹已经没有状态了 使用过git rm -r --cached . 命令最终push到远程仓库后,远程仓库里的文件会一并删除

]]>
2022-03-28T11:10:20+00:00
https://github.com/cherishyuan/blog/issues/1技术相关2023-02-04T08:23:28.629442+00:00

这是一篇关于markdown中快速插入Emoji表情的语法速查表,以后写markdown想要插入emoji表情忘记语法了,可以快速查看。

People


ico emoji ico emoji
🤣 :rofl: 😄 :smile:
😆 :laughing: 😊 :blush:
😃 :smiley: :relaxed:
😏 :smirk: 😍 :heart_eyes:
😘 :kissing_heart: 😚 :kissing_closed_eyes:
😳 :flushed: 😌 :relieved:
🙄 :roll_eyes: 🙃 :upside_down_face:
😆 :satisfied: 😁 :grin:
😉 :wink: 😜 :stuck_out_tongue_winking_eye:
😝 :stuck_out_tongue_closed_eyes: 😀 :grinning:
🙁 :slightly_frowning_face: 🙂 :slightly_smiling_face:
😗 :kissing: 😙 :kissing_smiling_eyes:
😛 :stuck_out_tongue: 😴 :sleeping:
😟 :worried: 😦 :frowning:
😧 :anguished: 😮 :open_mouth:
😬 :grimacing: 😕 :confused:
😯 :hushed: 😑 :expressionless:
😒 :unamused: 😅 :sweat_smile:
😓 :sweat: 😥 :disappointed_relieved:
😩 :weary: 😔 :pensive:
😞 :disappointed: 😖 :confounded:
😨 :fearful: 😰 :cold_sweat:
😣 :persevere: 😢 :cry:
😭 :sob: 😂 :joy:
😲 :astonished: 😱 :scream:
:neckbeard: 😫 :tired_face:
😠 :angry: 😡 :rage:
🤔 :thinking: 🤐 :zipper_mouth_face:
😤 :triumph: 😪 :sleepy:
😋 :yum: 😷 :mask:
😎 :sunglasses: 😵 :dizzy_face:
👿 :imp: 😈 :smiling_imp:
😐 :neutral_face: 😶 :no_mouth:
😇 :innocent: 👽 :alien:
💛 :yellow_heart: 💙 :blue_heart:
💜 :purple_heart: :heart:
💚 :green_heart: 💔 :broken_heart:
💓 :heartbeat: 💗 :heartpulse:
💕 :two_hearts: 💞 :revolving_hearts:
💘 :cupid: 💖 :sparkling_heart:
:sparkles: :star:
🌟 :star2: 💫 :dizzy:
💥 :boom: 💥 :collision:
💢 :anger: :exclamation:
:question: :grey_exclamation:
:grey_question: 💤 :zzz:
💨 :dash: 💦 :sweat_drops:
🎶 :notes: 🎵 :musical_note:
🔥 :fire: 💩 :hankey:
💩 :poop: 💩 :shit:
:+1: :+1: 👍 :thumbsup:
:-1: :-1: 👎 :thumbsdown:
👌 :ok_hand: 👊 :punch:
👊 :facepunch: :fist:
:v: 👋 :wave:
:hand: :raised_hand:
👐 :open_hands: :point_up:
👇 :point_down: 👈 :point_left:
👉 :point_right: 🙌 :raised_hands:
🙏 :pray: 👆 :point_up_2:
👏 :clap: 💪 :muscle:
🤘 :metal: 🖕 :fu:
🏃 :runner: 🏃 :running:
👫 :couple: 👪 :family:
👬 :two_men_holding_hands: 👭 :two_women_holding_hands:
💃 :dancer: 👯 :dancers:
🙆 :ok_woman: 🙅 :no_good:
💁 :information_desk_person: 🙋 :raising_hand:
👰 :bride_with_veil: 🙎 :person_with_pouting_face:
🙍 :person_frowning: 🙇 :bow:
💑 :couple_with_heart: 💆 :massage:
💇 :haircut: 💅 :nail_care:
👦 :boy: 👧 :girl:
👩 :woman: 👨 :man:
👶 :baby: 👵 :older_woman:
👴 :older_man: 👱 :person_with_blond_hair:
👲 :man_with_gua_pi_mao: 👳 :man_with_turban:
👷 :construction_worker: 👮 :cop:
👼 :angel: 👸 :princess:
😺 :smiley_cat: 😸 :smile_cat:
😻 :heart_eyes_cat: 😽 :kissing_cat:
😼 :smirk_cat: 🙀 :scream_cat:
😿 :crying_cat_face: 😹 :joy_cat:
😾 :pouting_cat: 👹 :japanese_ogre:
👺 :japanese_goblin: 🙈 :see_no_evil:
🙉 :hear_no_evil: 🙊 :speak_no_evil:
💂 :guardsman: 💀 :skull:
🐾 :feet: 👄 :lips:
💋 :kiss: 💧 :droplet:
👂 :ear: 👀 :eyes:
👃 :nose: 👅 :tongue:
💌 :love_letter: 👤 :bust_in_silhouette:
👥 :busts_in_silhouette: 💬 :speech_balloon:
💭 :thought_balloon: :feelsgood:
:finnadie: :goberserk:
:godmode: :hurtrealbad:
:rage1: :rage2:
:rage3: :rage4:
:suspect: :trollface:

Nature


ico emoji ico emoji
:sunny: :umbrella:
:cloud: :snowflake:
:snowman: :zap:
🌀 :cyclone: 🌁 :foggy:
🌊 :ocean: 🐱 :cat:
🐶 :dog: 🐭 :mouse:
🐹 :hamster: 🐰 :rabbit:
🐺 :wolf: 🐸 :frog:
🐯 :tiger: 🐨 :koala:
🐻 :bear: 🐷 :pig:
🐽 :pig_nose: 🐮 :cow:
🐗 :boar: 🐵 :monkey_face:
🐒 :monkey: 🐴 :horse:
🐎 :racehorse: 🐫 :camel:
🐑 :sheep: 🐘 :elephant:
🐼 :panda_face: 🐍 :snake:
🐦 :bird: 🐤 :baby_chick:
🐥 :hatched_chick: 🐣 :hatching_chick:
🐔 :chicken: 🐧 :penguin:
🐢 :turtle: 🐛 :bug:
🐝 :honeybee: 🐜 :ant:
🐞 :beetle: 🐌 :snail:
🐙 :octopus: 🐠 :tropical_fish:
🐟 :fish: 🐳 :whale:
🐋 :whale2: 🐬 :dolphin:
🐄 :cow2: 🐏 :ram:
🐀 :rat: 🐃 :water_buffalo:
🐅 :tiger2: 🐇 :rabbit2:
🐉 :dragon: 🐐 :goat:
🐓 :rooster: 🐕 :dog2:
🐖 :pig2: 🐁 :mouse2:
🐂 :ox: 🐲 :dragon_face:
🐡 :blowfish: 🐊 :crocodile:
🐪 :dromedary_camel: 🐆 :leopard:
🐈 :cat2: 🐩 :poodle:
🐾 :paw_prints: 💐 :bouquet:
🌸 :cherry_blossom: 🌷 :tulip:
🍀 :four_leaf_clover: 🌹 :rose:
🌻 :sunflower: 🌺 :hibiscus:
🍁 :maple_leaf: 🍃 :leaves:
🍂 :fallen_leaf: 🌿 :herb:
🍄 :mushroom: 🌵 :cactus:
🌴 :palm_tree: 🌲 :evergreen_tree:
🌳 :deciduous_tree: 🌰 :chestnut:
🌱 :seedling: 🌼 :blossom:
🌾 :ear_of_rice: 🐚 :shell:
🌐 :globe_with_meridians: 🌞 :sun_with_face:
🌝 :full_moon_with_face: 🌚 :new_moon_with_face:
🌑 :new_moon: 🌒 :waxing_crescent_moon:
🌓 :first_quarter_moon: 🌔 :waxing_gibbous_moon:
🌕 :full_moon: 🌖 :waning_gibbous_moon:
🌗 :last_quarter_moon: 🌘 :waning_crescent_moon:
🌜 :last_quarter_moon_with_face: 🌛 :first_quarter_moon_with_face:
🌙 :crescent_moon: 🌍 :earth_africa:
🌎 :earth_americas: 🌏 :earth_asia:
🌋 :volcano: 🌌 :milky_way:
:partly_sunny: :octocat:
:squirrel:

Objects


ico emoji ico emoji
🎍 :bamboo: 💝 :gift_heart:
🎎 :dolls: 🎒 :school_satchel:
🎓 :mortar_board: 🎏 :flags:
🎆 :fireworks: 🎇 :sparkler:
🎐 :wind_chime: 🎑 :rice_scene:
🎃 :jack_o_lantern: 👻 :ghost:
🎅 :santa: 🎄 :christmas_tree:
🎁 :gift: 🔔 :bell:
🔕 :no_bell: 🎋 :tanabata_tree:
🎉 :tada: 🎊 :confetti_ball:
🎈 :balloon: 🔮 :crystal_ball:
💿 :cd: 📀 :dvd:
💾 :floppy_disk: 📷 :camera:
📹 :video_camera: 🎥 :movie_camera:
💻 :computer: 📺 :tv:
📱 :iphone: :phone:
:telephone: 📞 :telephone_receiver:
📟 :pager: 📠 :fax:
💽 :minidisc: 📼 :vhs:
🔉 :sound: 🔈 :speaker:
🔇 :mute: 📢 :loudspeaker:
📣 :mega: :hourglass:
:hourglass_flowing_sand: :alarm_clock:
:watch: 📻 :radio:
📡 :satellite: :loop:
🔍 :mag: 🔎 :mag_right:
🔓 :unlock: 🔒 :lock:
🔏 :lock_with_ink_pen: 🔐 :closed_lock_with_key:
🔑 :key: 💡 :bulb:
🔦 :flashlight: 🔆 :high_brightness:
🔅 :low_brightness: 🔌 :electric_plug:
🔋 :battery: 📲 :calling:
:email: 📫 :mailbox:
📮 :postbox: 🛀 :bath:
🛁 :bathtub: 🚿 :shower:
🚽 :toilet: 🔧 :wrench:
🔩 :nut_and_bolt: 🔨 :hammer:
💺 :seat: 💰 :moneybag:
💴 :yen: 💵 :dollar:
💷 :pound: 💶 :euro:
💳 :credit_card: 💸 :money_with_wings:
:e-mail: :e-mail: 📥 :inbox_tray:
📤 :outbox_tray: :envelope:
📨 :incoming_envelope: 📯 :postal_horn:
📪 :mailbox_closed: 📬 :mailbox_with_mail:
📭 :mailbox_with_no_mail: 📦 :package:
🚪 :door: 🚬 :smoking:
💣 :bomb: 🔫 :gun:
🔪 :hocho: 💊 :pill:
💉 :syringe: 📄 :page_facing_up:
📃 :page_with_curl: 📑 :bookmark_tabs:
📊 :bar_chart: 📈 :chart_with_upwards_trend:
📉 :chart_with_downwards_trend: 📜 :scroll:
📋 :clipboard: 📆 :calendar:
📅 :date: 📇 :card_index:
📁 :file_folder: 📂 :open_file_folder:
:scissors: 📌 :pushpin:
📎 :paperclip: :black_nib:
:pencil2: 📏 :straight_ruler:
📐 :triangular_ruler: 📕 :closed_book:
📗 :green_book: 📘 :blue_book:
📙 :orange_book: 📓 :notebook:
📔 :notebook_with_decorative_cover: 📒 :ledger:
📚 :books: 🔖 :bookmark:
📛 :name_badge: 🔬 :microscope:
🔭 :telescope: 📰 :newspaper:
🏈 :football: 🏀 :basketball:
:soccer: :baseball:
🎾 :tennis: 🎱 :8ball:
🏉 :rugby_football: 🎳 :bowling:
:golf: 🚵 :mountain_bicyclist:
🚴 :bicyclist: 🏇 :horse_racing:
🏂 :snowboarder: 🏊 :swimmer:
🏄 :surfer: 🎿 :ski:
:spades: :hearts:
:clubs: :diamonds:
💎 :gem: 💍 :ring:
🏆 :trophy: 🎼 :musical_score:
🎹 :musical_keyboard: 🎻 :violin:
👾 :space_invader: 🎮 :video_game:
🃏 :black_joker: 🎴 :flower_playing_cards:
🎲 :game_die: 🎯 :dart:
🀄 :mahjong: 🎬 :clapper:
📝 :memo: 📝 :pencil:
📖 :book: 🎨 :art:
🎤 :microphone: 🎧 :headphones:
🎺 :trumpet: 🎷 :saxophone:
🎸 :guitar: 👞 :shoe:
👡 :sandal: 👠 :high_heel:
💄 :lipstick: 👢 :boot:
👕 :shirt: 👕 :tshirt:
👔 :necktie: 👚 :womans_clothes:
👗 :dress: 🎽 :running_shirt_with_sash:
👖 :jeans: 👘 :kimono:
👙 :bikini: 🎀 :ribbon:
🎩 :tophat: 👑 :crown:
👒 :womans_hat: 👞 :mans_shoe:
🌂 :closed_umbrella: 💼 :briefcase:
👜 :handbag: 👝 :pouch:
👛 :purse: 👓 :eyeglasses:
🎣 :fishing_pole_and_fish: :coffee:
🍵 :tea: 🍶 :sake:
🍼 :baby_bottle: 🍺 :beer:
🍻 :beers: 🍸 :cocktail:
🍹 :tropical_drink: 🍷 :wine_glass:
🍴 :fork_and_knife: 🍕 :pizza:
🍔 :hamburger: 🍟 :fries:
🍗 :poultry_leg: 🍖 :meat_on_bone:
🍝 :spaghetti: 🍛 :curry:
🍤 :fried_shrimp: 🍱 :bento:
🍣 :sushi: 🍥 :fish_cake:
🍙 :rice_ball: 🍘 :rice_cracker:
🍚 :rice: 🍜 :ramen:
🍲 :stew: 🍢 :oden:
🍡 :dango: 🥚 :egg:
🍞 :bread: 🍩 :doughnut:
🍮 :custard: 🍦 :icecream:
🍨 :ice_cream: 🍧 :shaved_ice:
🎂 :birthday: 🍰 :cake:
🍪 :cookie: 🍫 :chocolate_bar:
🍬 :candy: 🍭 :lollipop:
🍯 :honey_pot: 🍎 :apple:
🍏 :green_apple: 🍊 :tangerine:
🍋 :lemon: 🍒 :cherries:
🍇 :grapes: 🍉 :watermelon:
🍓 :strawberry: 🍑 :peach:
🍈 :melon: 🍌 :banana:
🍐 :pear: 🍍 :pineapple:
🍠 :sweet_potato: 🍆 :eggplant:
🍅 :tomato: 🌽 :corn:

Places


ico emoji ico emoji
🏠 :house: 🏡 :house_with_garden:
🏫 :school: 🏢 :office:
🏣 :post_office: 🏥 :hospital:
🏦 :bank: 🏪 :convenience_store:
🏩 :love_hotel: 🏨 :hotel:
💒 :wedding: :church:
🏬 :department_store: 🏤 :european_post_office:
🌇 :city_sunrise: 🌆 :city_sunset:
🏯 :japanese_castle: 🏰 :european_castle:
:tent: 🏭 :factory:
🗼 :tokyo_tower: 🗾 :japan:
🗻 :mount_fuji: 🌄 :sunrise_over_mountains:
🌅 :sunrise: 🌠 :stars:
🗽 :statue_of_liberty: 🌉 :bridge_at_night:
🎠 :carousel_horse: 🌈 :rainbow:
🎡 :ferris_wheel: :fountain:
🎢 :roller_coaster: 🚢 :ship:
🚤 :speedboat: :boat:
:sailboat: 🚣 :rowboat:
:anchor: 🚀 :rocket:
:airplane: 🚁 :helicopter:
🚂 :steam_locomotive: 🚊 :tram:
🚞 :mountain_railway: 🚲 :bike:
🚡 :aerial_tramway: 🚟 :suspension_railway:
🚠 :mountain_cableway: 🚜 :tractor:
🚙 :blue_car: 🚘 :oncoming_automobile:
🚗 :car: 🚗 :red_car:
🚕 :taxi: 🚖 :oncoming_taxi:
🚛 :articulated_lorry: 🚌 :bus:
🚍 :oncoming_bus: 🚨 :rotating_light:
🚓 :police_car: 🚔 :oncoming_police_car:
🚒 :fire_engine: 🚑 :ambulance:
🚐 :minibus: 🚚 :truck:
🚋 :train: 🚉 :station:
🚆 :train2: 🚅 :bullettrain_front:
🚄 :bullettrain_side: 🚈 :light_rail:
🚝 :monorail: 🚃 :railway_car:
🚎 :trolleybus: 🎫 :ticket:
:fuelpump: 🚦 :vertical_traffic_light:
🚥 :traffic_light: :warning:
🚧 :construction: 🔰 :beginner:
🏧 :atm: 🎰 :slot_machine:
🚏 :busstop: 💈 :barber:
:hotsprings: 🏁 :checkered_flag:
🎌 :crossed_flags: 🏮 :izakaya_lantern:
🗿 :moyai: 🎪 :circus_tent:
🎭 :performing_arts: 📍 :round_pushpin:
🚩 :triangular_flag_on_post: 🇯🇵 :jp:
🇰🇷 :kr: 🇨🇳 :cn:
🇺🇸 :us: 🇫🇷 :fr:
🇪🇸 :es: 🇮🇹 :it:
🇷🇺 :ru: 🇬🇧 :gb:
🇬🇧 :uk: 🇩🇪 :de:

Symbols


ico emoji ico emoji
1⃣ :one: 2⃣ :two:
3⃣ :three: 4⃣ :four:
5⃣ :five: 6⃣ :six:
7⃣ :seven: 8⃣ :eight:
9⃣ :nine: 🔟 :keycap_ten:
🔢 :1234: 0⃣ :zero:
#⃣ :hash: 🔣 :symbols:
:arrow_backward: :arrow_down:
:arrow_forward: :arrow_left:
🔠 :capital_abcd: 🔡 :abcd:
🔤 :abc: :arrow_lower_left:
:arrow_lower_right: :arrow_right:
:arrow_up: :arrow_upper_left:
:arrow_upper_right: :arrow_double_down:
:arrow_double_up: 🔽 :arrow_down_small:
:arrow_heading_down: :arrow_heading_up:
:leftwards_arrow_with_hook: :arrow_right_hook:
:left_right_arrow: :arrow_up_down:
🔼 :arrow_up_small: 🔃 :arrows_clockwise:
🔄 :arrows_counterclockwise: :rewind:
:fast_forward: :information_source:
🆗 :ok: 🔀 :twisted_rightwards_arrows:
🔁 :repeat: 🔂 :repeat_one:
🆕 :new: 🔝 :top:
🆙 :up: 🆒 :cool:
🆓 :free: 🆖 :ng:
🎦 :cinema: 🈁 :koko:
📶 :signal_strength: 🈹 :u5272:
🈴 :u5408: 🈺 :u55b6:
🈯 :u6307: 🈷 :u6708:
🈶 :u6709: 🈵 :u6e80:
🈚 :u7121: 🈸 :u7533:
🈳 :u7a7a: 🈲 :u7981:
🈂 :sa: 🚻 :restroom:
🚹 :mens: 🚺 :womens:
🚼 :baby_symbol: 🚭 :no_smoking:
🅿 :parking: :wheelchair:
🚇 :metro: 🛄 :baggage_claim:
🉑 :accept: 🚾 :wc:
🚰 :potable_water: 🚮 :put_litter_in_its_place:
:secret: :congratulations:
:m: 🛂 :passport_control:
🛅 :left_luggage: 🛃 :customs:
🉐 :ideograph_advantage: 🆑 :cl:
🆘 :sos: 🆔 :id:
🚫 :no_entry_sign: 🔞 :underage:
📵 :no_mobile_phones: 🚯 :do_not_litter:
:non-potable_water: :non-potable_water: 🚳 :no_bicycles:
🚷 :no_pedestrians: 🚸 :children_crossing:
:no_entry: :eight_spoked_asterisk:
:sparkle: :eight_pointed_black_star:
💟 :heart_decoration: 🆚 :vs:
📳 :vibration_mode: 📴 :mobile_phone_off:
💹 :chart: 💱 :currency_exchange:
:aries: :taurus:
:gemini: :cancer:
:leo: :virgo:
:libra: :scorpius:
:sagittarius: :capricorn:
:ophiuchus: 🔯 :six_pointed_star:
:negative_squared_cross_mark: 🅰 :a:
🅱 :b: 🆎 :ab:
🅾 :o2: 💠 :diamond_shape_with_a_dot_inside:
:recycle: 🔚 :end:
🔙 :back: 🔛 :on:
🔜 :soon: 🕐 :clock1:
🕜 :clock130: 🕙 :clock10:
🕥 :clock1030: 🕚 :clock11:
🕦 :clock1130: 🕛 :clock12:
🕧 :clock1230: 🕑 :clock2:
🕝 :clock230: 🕒 :clock3:
🕞 :clock330: 🕓 :clock4:
🕟 :clock430: 🕔 :clock5:
🕠 :clock530: 🕕 :clock6:
🕡 :clock630: 🕖 :clock7:
🕢 :clock730: 🕗 :clock8:
🕣 :clock830: 🕘 :clock9:
🕤 :clock930: 💲 :heavy_dollar_sign:
© :copyright: ® :registered:
:tm: :x:
:heavy_exclamation_mark: :bangbang:
:interrobang: :o:
:heavy_multiplication_x: :heavy_plus_sign:
:heavy_minus_sign: :heavy_division_sign:
💮 :white_flower: 💯 :100:
:heavy_check_mark: :ballot_box_with_check:
🔘 :radio_button: 🔗 :link:
:curly_loop: :wavy_dash:
:part_alternation_mark: 🔱 :trident:
:black_small_square: :white_small_square:
:black_medium_small_square: :white_medium_small_square:
:black_medium_square: :white_medium_square:
:black_large_square: :white_large_square:
:white_check_mark: 🔲 :black_square_button:
🔳 :white_square_button: :black_circle:
:white_circle: 🔴 :red_circle:
🔵 :large_blue_circle: 🔷 :large_blue_diamond:
🔶 :large_orange_diamond: 🔹 :small_blue_diamond:
🔸 :small_orange_diamond: 🔺 :small_red_triangle:
🔻 :small_red_triangle_down: :shipit:

Uncategorized


ico emoji ico emoji
🥇 :1st_place_medal: 🥈 :2nd_place_medal:
🥉 :3rd_place_medal: 🇦🇫 :afghanistan:
🇦🇽 :aland_islands: 🇦🇱 :albania:
:alembic: 🇩🇿 :algeria:
🇦🇸 :american_samoa: 🏺 :amphora:
🇦🇩 :andorra: 🇦🇴 :angola:
🇦🇮 :anguilla: 🇦🇶 :antarctica:
🇦🇬 :antigua_barbuda: 🇦🇷 :argentina:
🇦🇲 :armenia: 🛰 :artificial_satellite:
🇦🇼 :aruba: *⃣ :asterisk:
👟 :athletic_shoe: :atom:
:atom_symbol: 🇦🇺 :australia:
🇦🇹 :austria: 🥑 :avocado:
🇦🇿 :azerbaijan: 🥓 :bacon:
🏸 :badminton: 🥖 :baguette_bread:
🇧🇸 :bahamas: 🇧🇭 :bahrain:
:balance_scale: 🗳 :ballot_box:
🇧🇩 :bangladesh: 🇧🇧 :barbados:
:basketball_man: ⛹♀ :basketball_woman:
🦇 :bat: 🏖 :beach_umbrella:
🛏 :bed: 🐝 :bee:
🇧🇾 :belarus: 🇧🇪 :belgium:
🇧🇿 :belize: 🛎 :bellhop_bell:
🇧🇯 :benin: 🇧🇲 :bermuda:
🇧🇹 :bhutan: 🚴 :biking_man:
🚴♀ :biking_woman: :biohazard:
🏴 :black_flag: 🖤 :black_heart:
👱 :blonde_man: 👱♀ :blonde_woman:
🇧🇴 :bolivia: 🇧🇦 :bosnia_herzegovina:
🇧🇼 :botswana: 🏹 :bow_and_arrow:
🙇 :bowing_man: 🙇♀ :bowing_woman:
🥊 :boxing_glove: 🇧🇷 :brazil:
🇮🇴 :british_indian_ocean_territory: 🇻🇬 :british_virgin_islands:
🇧🇳 :brunei: 🏗 :building_construction:
🇧🇬 :bulgaria: 🇧🇫 :burkina_faso:
🌯 :burrito: 🇧🇮 :burundi:
🕴 :business_suit_levitating: 🦋 :butterfly:
🤙 :call_me_hand: 🇰🇭 :cambodia:
📸 :camera_flash: 🇨🇲 :cameroon:
🏕 :camping: 🇨🇦 :canada:
🇮🇨 :canary_islands: 🕯 :candle:
🛶 :canoe: 🇨🇻 :cape_verde:
🗃 :card_file_box: 🗂 :card_index_dividers:
🇧🇶 :caribbean_netherlands: 🥕 :carrot:
🇰🇾 :cayman_islands: 🇨🇫 :central_african_republic:
🇹🇩 :chad: :chains:
🍾 :champagne: 🧀 :cheese:
🇨🇱 :chile: 🐿 :chipmunk:
🇨🇽 :christmas_island: 🏙 :cityscape:
🗜 :clamp: 🏛 :classical_building:
🥂 :clinking_glasses: 🌩 :cloud_with_lightning:
:cloud_with_lightning_and_rain: 🌧 :cloud_with_rain:
🌨 :cloud_with_snow: 🤡 :clown_face:
🇨🇨 :cocos_islands: :coffin:
🇨🇴 :colombia: :comet:
🇰🇲 :comoros: 🖱 :computer_mouse:
🇨🇬 :congo_brazzaville: 🇨🇩 :congo_kinshasa:
👷 :construction_worker_man: 👷♀ :construction_worker_woman:
🎛 :control_knobs: 🇨🇰 :cook_islands:
🇨🇷 :costa_rica: 🇨🇮 :cote_divoire:
🛋 :couch_and_lamp: 👨❤👨 :couple_with_heart_man_man:
💑 :couple_with_heart_woman_man: 👩❤👩 :couple_with_heart_woman_woman:
👨❤💋👨 :couplekiss_man_man: 💏 :couplekiss_man_woman:
👩❤💋👩 :couplekiss_woman_woman: 🤠 :cowboy_hat_face:
🦀 :crab: 🖍 :crayon:
🏏 :cricket: 🇭🇷 :croatia:
🥐 :croissant: 🤞 :crossed_fingers:
:crossed_swords: 🇨🇺 :cuba:
🥒 :cucumber: 🇨🇼 :curacao:
🇨🇾 :cyprus: 🇨🇿 :czech_republic:
🗡 :dagger: 👯♂ :dancing_men:
👯 :dancing_women: 🕶 :dark_sunglasses:
🦌 :deer: 🇩🇰 :denmark:
🏚 :derelict_house: 🏜 :desert:
🏝 :desert_island: 🖥 :desktop_computer:
🕵 :detective: 🇩🇯 :djibouti:
🇩🇲 :dominica: 🇩🇴 :dominican_republic:
🕊 :dove: 🤤 :drooling_face:
🥁 :drum: 🦆 :duck:
🦅 :eagle: 🇪🇨 :ecuador:
🇪🇬 :egypt: 🇸🇻 :el_salvador:
:electron: 📩 :envelope_with_arrow:
🇬🇶 :equatorial_guinea: 🇪🇷 :eritrea:
🇪🇪 :estonia: 🇪🇹 :ethiopia:
🇪🇺 :eu: 🇪🇺 :european_union:
👁 :eye: 👁🗨 :eye_speech_bubble:
🤕 :face_with_head_bandage: 🤒 :face_with_thermometer:
🇫🇰 :falkland_islands: 👨👦 :family_man_boy:
👨👦👦 :family_man_boy_boy: 👨👧 :family_man_girl:
👨👧👦 :family_man_girl_boy: 👨👧👧 :family_man_girl_girl:
👨👨👦 :family_man_man_boy: 👨👨👦👦 :family_man_man_boy_boy:
👨👨👧 :family_man_man_girl: 👨👨👧👦 :family_man_man_girl_boy:
👨👨👧👧 :family_man_man_girl_girl: 👪 :family_man_woman_boy:
👨👩👦👦 :family_man_woman_boy_boy: 👨👩👧 :family_man_woman_girl:
👨👩👧👦 :family_man_woman_girl_boy: 👨👩👧👧 :family_man_woman_girl_girl:
👩👦 :family_woman_boy: 👩👦👦 :family_woman_boy_boy:
👩👧 :family_woman_girl: 👩👧👦 :family_woman_girl_boy:
👩👧👧 :family_woman_girl_girl: 👩👩👦 :family_woman_woman_boy:
👩👩👦👦 :family_woman_woman_boy_boy: 👩👩👧 :family_woman_woman_girl:
👩👩👧👦 :family_woman_woman_girl_boy: 👩👩👧👧 :family_woman_woman_girl_girl:
🇫🇴 :faroe_islands: 🕵♀ :female_detective:
:ferry: 🏑 :field_hockey:
🇫🇯 :fiji: 🗄 :file_cabinet:
📽 :film_projector: 🎞 :film_strip:
🇫🇮 :finland: 🤛 :fist_left:
👊 :fist_oncoming: :fist_raised:
🤜 :fist_right: :fleur_de_lis:
🛬 :flight_arrival: 🛫 :flight_departure:
🐬 :flipper: 🌫 :fog:
👣 :footprints: 🖋 :fountain_pen:
🦊 :fox_face: 🖼 :framed_picture:
🇬🇫 :french_guiana: 🇵🇫 :french_polynesia:
🇹🇫 :french_southern_territories: 🍳 :fried_egg:
:frowning_face: 🙍♂ :frowning_man:
🙍 :frowning_woman: :funeral_urn:
🇬🇦 :gabon: 🇬🇲 :gambia:
:gear: 🇬🇪 :georgia:
🇬🇭 :ghana: 🇬🇮 :gibraltar:
🥅 :goal_net: 🏌 :golfing_man:
🏌♀ :golfing_woman: 🦍 :gorilla:
🇬🇷 :greece: 🥗 :green_salad:
🇬🇱 :greenland: 🇬🇩 :grenada:
🇬🇵 :guadeloupe: 🇬🇺 :guam:
💂♀ :guardswoman: 🇬🇹 :guatemala:
🇬🇬 :guernsey: 🇬🇳 :guinea:
🇬🇼 :guinea_bissau: 🇬🇾 :guyana:
💇♂ :haircut_man: 💇 :haircut_woman:
🇭🇹 :haiti: :hammer_and_pick:
🛠 :hammer_and_wrench: 🤝 :handshake:
:heavy_heart_exclamation: 🕳 :hole:
🇭🇳 :honduras: 🇭🇰 :hong_kong:
🌶 :hot_pepper: 🌭 :hotdog:
🏘 :houses: 🤗 :hugs:
🇭🇺 :hungary: 🏒 :ice_hockey:
:ice_skate: 🇮🇸 :iceland:
🇮🇳 :india: 🇮🇩 :indonesia:
🇮🇷 :iran: 🇮🇶 :iraq:
🇮🇪 :ireland: 🇮🇲 :isle_of_man:
🇮🇱 :israel: 🇯🇲 :jamaica:
🇯🇪 :jersey: 🇯🇴 :jordan:
🕹 :joystick: 🕋 :kaaba:
🇰🇿 :kazakhstan: 🇰🇪 :kenya:
:keyboard: 🛴 :kick_scooter:
🇰🇮 :kiribati: 🥝 :kiwi_fruit:
🔪 :knife: 🇽🇰 :kosovo:
🇰🇼 :kuwait: 🇰🇬 :kyrgyzstan:
🏷 :label: 🏮 :lantern:
🇱🇦 :laos: :latin_cross:
🇱🇻 :latvia: 🇱🇧 :lebanon:
🇱🇸 :lesotho: 🎚 :level_slider:
🇱🇷 :liberia: 🇱🇾 :libya:
🇱🇮 :liechtenstein: 🦁 :lion:
🇱🇹 :lithuania: 🦎 :lizard:
🔊 :loud_sound: 🇱🇺 :luxembourg:
🤥 :lying_face: 🇲🇴 :macau:
🇲🇰 :macedonia: 🇲🇬 :madagascar:
🇲🇼 :malawi: 🇲🇾 :malaysia:
🇲🇻 :maldives: 🕵 :male_detective:
🇲🇱 :mali: 🇲🇹 :malta:
👨🎨 :man_artist: 👨🚀 :man_astronaut:
🤸♂ :man_cartwheeling: 👨🍳 :man_cook:
🕺 :man_dancing: 🤦♂ :man_facepalming:
👨🏭 :man_factory_worker: 👨🌾 :man_farmer:
👨🚒 :man_firefighter: 👨⚕ :man_health_worker:
🤵 :man_in_tuxedo: 👨⚖ :man_judge:
🤹♂ :man_juggling: 👨🔧 :man_mechanic:
👨💼 :man_office_worker: 👨✈ :man_pilot:
🤾♂ :man_playing_handball: 🤽♂ :man_playing_water_polo:
👨🔬 :man_scientist: 🤷♂ :man_shrugging:
👨🎤 :man_singer: 👨🎓 :man_student:
👨🏫 :man_teacher: 👨💻 :man_technologist:
🍊 :mandarin: 🕰 :mantelpiece_clock:
🇲🇭 :marshall_islands: 🥋 :martial_arts_uniform:
🇲🇶 :martinique: 💆♂ :massage_man:
💆 :massage_woman: 🇲🇷 :mauritania:
🇲🇺 :mauritius: 🇾🇹 :mayotte:
🎖 :medal_military: 🏅 :medal_sports:
🤼♂ :men_wrestling: 🕎 :menorah:
🇲🇽 :mexico: 🇫🇲 :micronesia:
🖕 :middle_finger: 🥛 :milk_glass:
🇲🇩 :moldova: 🇲🇨 :monaco:
🤑 :money_mouth_face: 🇲🇳 :mongolia:
🇲🇪 :montenegro: 🇲🇸 :montserrat:
🌔 :moon: 🇲🇦 :morocco:
🕌 :mosque: 🛥 :motor_boat:
🛵 :motor_scooter: 🏍 :motorcycle:
🛣 :motorway: :mountain:
🚵 :mountain_biking_man: 🚵♀ :mountain_biking_woman:
🏔 :mountain_snow: 🇲🇿 :mozambique:
🤶 :mrs_claus: 🇲🇲 :myanmar:
🇳🇦 :namibia: 🏞 :national_park:
🇳🇷 :nauru: 🤢 :nauseated_face:
🇳🇵 :nepal: 🤓 :nerd_face:
🇳🇱 :netherlands: 🇳🇨 :new_caledonia:
🇳🇿 :new_zealand: 🗞 :newspaper_roll:
:next_track_button: 🙅♂ :ng_man:
🙅 :ng_woman: 🇳🇮 :nicaragua:
🇳🇪 :niger: 🇳🇬 :nigeria:
🌃 :night_with_stars: 🇳🇺 :niue:
🙅♂ :no_good_man: 🙅 :no_good_woman:
🇳🇫 :norfolk_island: 🇰🇵 :north_korea:
🇲🇵 :northern_mariana_islands: 🇳🇴 :norway:
🛢 :oil_drum: 🙆♂ :ok_man:
🗝 :old_key: 🕉 :om:
🇴🇲 :oman: 📖 :open_book:
:open_umbrella: 🍊 :orange:
:orthodox_cross: 🦉 :owl:
🖌 :paintbrush: 🇵🇰 :pakistan:
🇵🇼 :palau: 🇵🇸 :palestinian_territories:
🇵🇦 :panama: 🥞 :pancakes:
🖇 :paperclips: 🇵🇬 :papua_new_guinea:
🇵🇾 :paraguay: :parasol_on_ground:
🛳 :passenger_ship: :pause_button:
:peace_symbol: 🥜 :peanuts:
🖊 :pen: 🤺 :person_fencing:
🇵🇪 :peru: 🇵🇭 :philippines:
:pick: 🏓 :ping_pong:
🇵🇳 :pitcairn_islands: 🛐 :place_of_worship:
🍽 :plate_with_cutlery: :play_or_pause_button:
🇵🇱 :poland: 👮 :policeman:
👮♀ :policewoman: 🍿 :popcorn:
🇵🇹 :portugal: 🥔 :potato:
😡 :pout: 🙎♂ :pouting_man:
🙎 :pouting_woman: 📿 :prayer_beads:
🤰 :pregnant_woman: :previous_track_button:
🤴 :prince: 🖨 :printer:
🇵🇷 :puerto_rico: 🇶🇦 :qatar:
🏎 :racing_car: :radioactive:
🛤 :railway_track: 🏳🌈 :rainbow_flag:
🤚 :raised_back_of_hand: 🖐 :raised_hand_with_fingers_splayed:
🙋♂ :raising_hand_man: 🙋 :raising_hand_woman:
:record_button: 🎗 :reminder_ribbon:
:rescue_worker_helmet: 🇷🇪 :reunion:
🦏 :rhinoceros: 🗯 :right_anger_bubble:
🤖 :robot: 🇷🇴 :romania:
🏵 :rosette: 🚣 :rowing_man:
🚣♀ :rowing_woman: 🏃 :running_man:
🏃♀ :running_woman: 🇷🇼 :rwanda:
🇼🇸 :samoa: 🇸🇲 :san_marino:
🇸🇹 :sao_tome_principe: 💁♂ :sassy_man:
💁 :sassy_woman: 🇸🇦 :saudi_arabia:
🦂 :scorpion: 🤳 :selfie:
🇸🇳 :senegal: 🇷🇸 :serbia:
🇸🇨 :seychelles: 🥘 :shallow_pan_of_food:
:shamrock: 🦈 :shark:
🛡 :shield: :shinto_shrine:
🛍 :shopping: 🛒 :shopping_cart:
🦐 :shrimp: 🇸🇱 :sierra_leone:
🇸🇬 :singapore: 🇸🇽 :sint_maarten:
:skier: :skull_and_crossbones:
🛌 :sleeping_bed: 🇸🇰 :slovakia:
🇸🇮 :slovenia: 🛩 :small_airplane:
🤧 :sneezing_face: :snowman_with_snow:
🇸🇧 :solomon_islands: 🇸🇴 :somalia:
🇿🇦 :south_africa: 🇬🇸 :south_georgia_south_sandwich_islands:
🇸🇸 :south_sudan: 🗣 :speaking_head:
🕷 :spider: 🕸 :spider_web:
🗓 :spiral_calendar: 🗒 :spiral_notepad:
🥄 :spoon: 🦑 :squid:
🇱🇰 :sri_lanka: 🇧🇱 :st_barthelemy:
🇸🇭 :st_helena: 🇰🇳 :st_kitts_nevis:
🇱🇨 :st_lucia: 🇵🇲 :st_pierre_miquelon:
🇻🇨 :st_vincent_grenadines: 🏟 :stadium:
:star_and_crescent: :star_of_david:
:stop_button: 🛑 :stop_sign:
:stopwatch: 🎙 :studio_microphone:
🥙 :stuffed_flatbread: 🇸🇩 :sudan:
🌥 :sun_behind_large_cloud: 🌦 :sun_behind_rain_cloud:
🌤 :sun_behind_small_cloud: 🏄 :surfing_man:
🏄♀ :surfing_woman: 🇸🇷 :suriname:
🇸🇿 :swaziland: 🇸🇪 :sweden:
🏊 :swimming_man: 🏊♀ :swimming_woman:
🇨🇭 :switzerland: 🕍 :synagogue:
🇸🇾 :syria: 🌮 :taco:
🇹🇼 :taiwan: 🇹🇯 :tajikistan:
🇹🇿 :tanzania: 🇹🇭 :thailand:
🌡 :thermometer: 🇺🇾 :uruguay:
🎟 :tickets: :timer_clock:
🇹🇱 :timor_leste: 💁♂ :tipping_hand_man:
💁 :tipping_hand_woman: 🇹🇬 :togo:
🇹🇰 :tokelau: 🇹🇴 :tonga:
🌪 :tornado: 🇹🇷 :tr:
🖲 :trackball: 🇹🇹 :trinidad_tobago:
🥃 :tumbler_glass: 🇹🇳 :tunisia:
🦃 :turkey: 🇹🇲 :turkmenistan:
🇹🇨 :turks_caicos_islands: 🇹🇻 :tuvalu:
🇺🇬 :uganda: 🇺🇦 :ukraine:
🦄 :unicorn: 🇦🇪 :united_arab_emirates:
🇻🇮 :us_virgin_islands: 🇺🇿 :uzbekistan:
🇻🇺 :vanuatu: 🇻🇦 :vatican_city:
🇻🇪 :venezuela: 🇻🇳 :vietnam:
🏐 :volleyball: 🖖 :vulcan_salute:
🚶 :walking: 🚶 :walking_man:
🚶♀ :walking_woman: 🇼🇫 :wallis_futuna:
🗑 :wastebasket: 🏋 :weight_lifting_man:
🏋♀ :weight_lifting_woman: 🇪🇭 :western_sahara:
:wheel_of_dharma: 🏳 :white_flag:
🥀 :wilted_flower: 🌬 :wind_face:
👩🎨 :woman_artist: 👩🚀 :woman_astronaut:
🤸♀ :woman_cartwheeling: 👩🍳 :woman_cook:
🤦♀ :woman_facepalming: 👩🏭 :woman_factory_worker:
👩🌾 :woman_farmer: 👩🚒 :woman_firefighter:
👩⚕ :woman_health_worker: 👩⚖ :woman_judge:
🤹♀ :woman_juggling: 👩🔧 :woman_mechanic:
👩💼 :woman_office_worker: 👩✈ :woman_pilot:
🤾♀ :woman_playing_handball: 🤽♀ :woman_playing_water_polo:
👩🔬 :woman_scientist: 🤷♀ :woman_shrugging:
👩🎤 :woman_singer: 👩🎓 :woman_student:
👩🏫 :woman_teacher: 👩💻 :woman_technologist:
👳♀ :woman_with_turban: 🤼♀ :women_wrestling:
🗺 :world_map: :writing_hand:
🇾🇪 :yemen: :yin_yang:
🇿🇲 :zambia: 🇿🇼 :zimbabwe:
]]>
2022-03-28T09:10:35+00:00