1. 清空编译产生的临时文件命令
这个简单粗暴,当前目录下打的patch,out目录,以及临时文件都会被清空。
git clean -xfd && git checkout .
那么若只想清除临时文件,out下面的都还想要保留咋整,比如下面这么多临时文件:
很简单:
git clean -xfd vendor/qcom/
这样临时文件就都被清空了。
2. 查看特定人的提交记录
这个就是从仓库里找到一个叫尼古拉斯人的提交记录,并且每条记录都简略显示为一行。
git log --oneline --committer=nigulasi
(如果committer库丢失的话,可能搜不到)
若丢失了committer库,可以用下面命令检索:
git lg | grep nigulasi
3. 撤回git add修改点(巧用git reset)
比如下面几个修改点,我都git add了,
然后我在终端敲命令:
:~/android10/LA.UM.8.13$ git reset vendor/qcom/opensource/audio-kernel/asoc/kona.c
git status 看一下,原先绿色部分切换成了未add的红色部分。
4. 检索特定信息的git 提交记录
git log --grep=4040
这个会返回包含4040的完整git 提交记录。
5. 查看代码状态
git status -s kernel/msm-4.19/techpack/
6. 保存编译的log
编译命令后面加上 | tee build.log 这个会把编译的log保存到当前目录。
mmm vendor/qcom/proprietary/chi-cdk/ 2>&1 |tee log_build.log
7. 把特定提交记录的patch打出来
git format-patch -p1 37b3049
git format-patch -p1 加上找到的提交记录,就可以把对应修改的patch打出来。
8. 抓取设备dmesg log方法
adb shell dmesg > demesg.txt
9. 检索某个提交点的某个文件修改
git show + 修改点 + 文件路径
git show 5b419723c1a1asasb5cfb827b118af047a818083 ./vendor/qcom/opensource/audio-kernel/asoc/kona.c
10. git提交之后,发现问题处理方法
常见的方法就是把修改abandon掉,然后重新提交;或者依次执行以下命令
git add xxxxxx(本地之后的修改)
git commit --amend
git push xxxx
即可。
11. 编译暂停
正在编译的时候,可以使用ctrl+Z暂停编译。
然后你要继续编译的时候,直接在终端输入fg即可继续编译。
12. 延迟一段时间再开始编译
比如延后1小时,再开始全编译:
sleep 3600 && bash build.sh dist -j16
13. 查看之前使用的命令
history
14. 查看之前使用的命令
反向打patch,相当于git revert。
git show a123456789(git id) > 1.diff
patch -Rp1 < 1.diff
15. 作者注
/*
@article{Git_related,
Author = { 1byte ≠ 8bit},
Year = {2020},
}
*/