vim&adb&git命令

vim 全部选中

全选(高亮显示):按esc后,然后ggvG或者ggVG

全部复制:按esc后,然后ggyG

全部删除:按esc后,然后dG


替换:

%s/old/new/g


find . -name fingerprint.h -exec vim {} ;

查找某个文件并vim


vim打开二进制文件:

:%!xxd -g 1

以上命令可以以单个字节显示二进制内容

VIM:

:sp 上下分屏

:vsp 左右分屏


GIT命令


repo manifest

---该命令列出manifest.xml内容

repo staus

---显示有改动的仓及文件

git log -n3

---显示前三条git log

git log --oneline -n3 ./fpc_hal_ext_calibration.c

---简化显示某个文件前3个修改记录

git diff仅显示差异

git icdiff 左右直观显示修改的文件内容

1,sudo apt install icdiff

2,~/.gitconfig添加:

icdiff

options = --highlight --line-numbers

3,git icdiff ./Android.mk

该命令即可显示该文件前后的差异

行控制命令和vim基本一致

如果已经git add了,需要添加--cached参数

git icdiff --cached ./build/tee/fpc.mk

比较某个文件两个节点直接的差异:

git icdiff 99af6ee 19b030c ndk_build_hal.mk6


git diff 63a95eb0 ./tools.mk

查看某一个commit中tools.mk文件前后的差异


git上库:

1,进入某个仓, git add

2, git commit 回车,添加commit信息,可以回车后添加jira单号

bring up zte IRIS6(optee) on L3

SWO-1391

3,git push fpc_gerrit HEAD:refs/for/customer/1632_customer_xiaomi_l3_algo2_sw8.0


回退到该文件指定的版本

git checkout a4e215234aa4927c85693dca7b68e9976948a35e MainActivity.java


从gerrit复制down patch 链接,在本地执行了gerry-pick命令后,怎么撤销呢:

git reset --hard HEAD^


git diff a.file > a.patch //生成补丁

git apply ./a.patch //打补丁

t

git add 新增了某个文件并且git add了

git reset HEAD * 可以将其add操作撤销


修改了某个文件,本来想git commit,不小心git commit --amend了

1, git reflog,此时会显示出amend的历史记录,找到刚才amend时候的commit id, 例如下图:

2, git reset + 红框前面的那个commit, 这样就会把刚才的修改重新unstged,入下图:


在某个仓库执行gerrit cherr-pick命令时如果有冲突时:

error: could not apply 844e03a... bring up zte P720F05 (speadtrum+trusty) lib

hint: after resolving the conflicts, mark the corrected paths

hint: with 'git add <paths>' or 'git rm <paths>'

hint: and commit the result with 'git commit'

此时冲突文件中会有如下字符:

<<<<<<< HEAD

tz_algo_extract();

status = tz_algo_auth(&tz_auth_result);

=======

tz_algo_extract();

status = tz_algo_auth(&tz_auth_result);

>>>>>>> 844e03a... bring up zte P720F05 (speadtrum+trusty) lib

在gerrit上执行将某个修改cherry-pick到另一个分支时

如果提示冲突,并且强行rebase后,查看文件修改差异,可以看到有"<<<<<<< HEAD"等字符

怎么解决呢:

1,将该修改cherr-pick到本地仓库

2,移除HEAD等字符,并注意是否解决完了冲突

3,git add

4, git commit --amend

5,git push

6,这样就好了


用户A上传的代码,如果还没有merge, 那么用户B可以进行如下修改:

1,将A的修改cherry-pick到本地

2,修改

3,git add

4, git commit --amend

5, git push ***

6, 重新review,merge


已经git add的代码,如果想看修改的差异:

git diff --cached

已经git add的代码,想退回到未add的状态:

git reset HEAD src/access/fpc_sensor_access.c

再继续执行git checkout 即可


执行commit后,还没执行push时,想要撤销这次的commit

只撤销上一次commit,不撤销add

git reset --soft HEAD~1

commit和add的上一次都撤销

git reset --hard HEAD~1

已经add,commit但未push的文件,想撤销到未git add状态:

1,git reset --hard HEAD~1 (此时是git add状态,绿色)

2,git reset HEAD *.file (此时是红色)

3,git checkout *.file (撤销掉该文件)

已经merge的文件,想撤销到未git add状态:

1,git reset --hard HEAD~1 (此时是git add状态,绿色)

2,git reset HEAD *.file (此时是红色)

3,git checkout *.file (撤销掉该文件)


当前仓库修改记录如下:

felix@felix-VirtualBox:~/code/1632_zte_p720f05_sw8_branches/optical_sensor_sdk$ git log --oneline |head -n 10

5aa270b Fix underflow to compatible with DMA align at 8 bytes 2/2

2bc8549 Add log to debug unique id not match 3/3

5ad8cff Remove repeated log print 2/2

8bacd4a Set spi speed 6M when read hwid, 15M in other cases 3/3

32c1674 Enhance spi drive strength

a85c4b0 Add new HWID support for borneo

b5ee1af Save and set issue points info to algo2

c88b49d Capture flow changes for kpi optimization

18f1814 Add Image rotate macro control

b770151 Remove backoff data in calibration image

我想将fpc_sensor_access.c文件回退到上一个状态,即:2bc8549

1, git checkout 2bc8549 src/access/fpc_sensor_access.c

此时该文件显示绿色,并且文件内容已经回到了2bc8549

2,git commit

3,git push fpc_gerrit HEAD:refs/for/customer/1632_zte_p720f05_sw8


想将当前目录的文件备份一下:

tar -cvf ~/tmp.tar hwbinder/legacy/Android.mk hwbinder/legacy/fpc_legacy_hal.c

想恢复的时候:

tar -xvf ~/tmp.tar -C . (解压到当前目录)


根据git log查找某一笔修改动了哪些文件

git show 12dc6ce|grep diff

将某一个节点的文件导出来

git show 12dc6ce A.txt > A1.txt


git log显示关键信息

git log --pretty=format:"%h - %an, %ad : %s" --date=iso -n 10



adb命令

adb shell "dmesg -w|grep fpc"

该命令可以实时打印kernel log

替代while true循环打印


cp --parents

复制文件的时候保留目录结构


1.adb root

a.adb shell "while true; do cat; sleep 1; done < /proc/kmsg" (待测试)

pm list packages -f|grep -HinE collec

(standard input):42:package:/system/app/SaleInfoCollectSystem/SaleInfoCollectSystem.apk=com.android.aftersaleservice

(standard input):82:package:/vendor/app/ImageCollection/ImageCollection.apk=com.fingerprints.imagecollection

列出手机中所有的包和路径

显示当前activity堆栈:

adb shell "dumpsys activity|grep -HinE topactivity"

(standard input):2258: topActivity={com.heyitest.wifilink/com.heyitest.wifilink.MainActivity}

(standard input):2267: topActivity={com.ontim.runin/com.ontim.runin.MAIN}

(standard input):2276: topActivity={com.mediatek.atmwifimeta/com.mediatek.atmwifimeta.Atm_Wifi_Activity}

(standard input):2285: topActivity={com.android.settings/com.android.settings.SubSettings}


sed -i '/hello/d' test.txt

删除test.txt中包含hello的行


adb shell "while true;do cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq&&echo '------------------------' ;sleep 0.5;done"

实时打印cpu频率:

用分割线隔开每次打印


adb shell logcat -b main //只输出logcat

adb shell logcat -b kernel //输出kernel日志


如何下载单个仓:

1, repo manifest

2, 找到目标仓对应的name

3, repo sync sw/linux/android/gen2/lib_build


grep搜索某些关键字,排除某个关键字

grep -HrinE "sensor_driver_calibrate_volt_v1|image_size=32" ./*.txt|grep -wv "image_size=3200"


envsetup.sh脚本中通过export设置的环境变量,都可以在shell窗口用export命令显示出来


getevent可以获取到各个event的name

127|Z6576S:/ # getevent

add device 1: /dev/input/event2

name: "fts_ts"

add device 2: /dev/input/event0

name: "ACCDET"

add device 3: /dev/input/event1

name: "mtk-kpd"


du -sh *

统计当前目录下所有文件和目录的大小


rsync -av --exclude=folder1/ --exclude=folder2/ source_directory/ destination_directory/

复制文件时排除多个目录

相关推荐
zwjapple1 天前
skill总结
大数据·elasticsearch·搜索引擎
跨境猫小妹1 天前
跨境电商订单导出CSV用Excel打开后订单号变成科学计数法如何定位并修复
excel·跨境电商·营销策略
阿里云大数据AI技术1 天前
云栖实录|从代码上下文到千亿级文档:Qoder × 阿里云 Elasticsearch 落地生产级Agent向量检索
人工智能·elasticsearch
Elastic 中国社区官方博客1 天前
使用 OpenTelemetry 在 Elastic 中实现 Claude 平台的人工智能 agent 可观测性
大数据·运维·服务器·人工智能·elasticsearch·信息可视化·全文检索
by209992 天前
Linux 软件安装与 Vim 编辑
linux·经验分享·vim
weixin_440401692 天前
大数据技术-数据分析(EXcel+Python数据处理+SQL)
大数据·python·数据分析·excel
jaysee-sjc2 天前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel
Elastic 中国社区官方博客2 天前
Elastic 重大事件功能如何将 100 条日志样本转化为检测规则
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎
ms365copilot2 天前
Copilot 代理开始进入Word、Excel、PowerPoint,不再只是“问一句答一句”
word·excel·copilot
wuyk5552 天前
PyQt6-第14讲-数据库与Excel双向同步
数据库·python·ui·excel·pyqt