当前位置: 首页 > java >正文

vimadbgit命令

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/

复制文件时排除多个目录

http://www.xdnf.cn/news/11807.html

相关文章:

  • Web后端开发(SpringBootWeb、HTTP、Tomcat快速入门)
  • 2025 5 月 学习笔记
  • 大数据Spark(六十一):Spark基于Standalone提交任务流程
  • WPF开发分页控件:实现可定制化分页功能及实现原理解析
  • 弹出层blockui插件主要使用blockUI和unblockUI两个方法来控制弹出层的显示或者隐藏
  • 【022】Vue+Springboot+mysql汽车销售系统课设(含源码、数据库、运行教程、实验报告)
  • 无处不在的开源 五十个开源存储软件
  • 奇迹MU开服服务端租用服务器架设搭建
  • 口袋参谋:一键查询任意买家旺旺号,规避被降权风险!
  • 【知识拓展】字符编码 {Unicode和GBK字符编码方案;UTF-8,UTF-16,UTF-32存储方案;char,wchar_t,char8_t,char16_t,char32_t字符类型}
  • 常见工具识别集锦---Windows应急响应工具
  • 标准中文电码简介
  • Python高阶函数extract + extractall详解与实例
  • 八种用Python实现定时执行任务的方案,一定有你用得到的!
  • 用基用js在VS code上面实现获取百度搜索页面源代码的html部分
  • SpeedTree:树模型制作软件的下载与安装
  • akb48_AKB48最值得听的十大单曲
  • 盘点世界十大著名黑客攻击事件
  • 对症下药 硬盘坏道检测与修复全攻略(组图)
  • 属蛇的2020年运势_第一运程 属蛇人2020年每月运势
  • 【开源工程】VirtualDub
  • 数商云汽车经销商管理系统解决方案:汽车零售系统活动、呼叫、数字化营销管理工具
  • VBS病毒(爱虫病毒) 源代码
  • CCF ChinaSoft 2023 论坛巡礼 | 优秀博士生论坛
  • ubuntu常用软件介绍及安装
  • CSS中正确理解clear:both
  • 出现Could not allocate CursorWindow of size due to error -12.错误的解决方案
  • 【转帖】windows 服务大全
  • 软件外包公司到底干啥的?要不要去外包公司?
  • Dream Aquarium 1.240 汉化增强版