记录GIT、ADB、Gradle常用命令(持续更新…)

ADB

查找某个应用所在的路径

adb shell pm list package -f | grep 过滤词
复制代码

移除应用包

adb shell rm 应用路径
复制代码

查询所有包

adb shell pm -l
复制代码

查找某个包所在路径

adb shell pm path 完整应用包名
复制代码

卸载包

adb uninstall 完整应用包名
复制代码

启动activity

adb shell am start -n "应用包名/activity完整路径(包名)
复制代码

ADB强制安装

(1)解决 Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]

adb install -t 完整应用包名
复制代码

(2)解决Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

adb install -d 完整应用包名
复制代码

-d: allow version code downgrade

ADB 查看CPU占用情况

adb shell top -m 10 -s 8
复制代码

-m 10 排名前10的

GIT

branch

创建新分支feature1

git branch feature1
复制代码

新建的 branch 并不会自动切换,切换(新)分支

git checkout -b feature1
复制代码

更新远程分支

git remote update origin --prune
复制代码

删除分支

git branch -d 分支名
复制代码

删除 branch 的操作也只会删掉这个引用,并不会删除任何的 commit

没有被合并到 master 过的 branch 在删除时会失败,这种情况如果你确认是要删除这个 branch,可以把 -d 改成 -D,小写换成大写

stash

stash 指令可以帮你把工作目录的内容全部放在你本地的一个独立的地方,它不会被提交,也不会被删除,你把东西放起来之后就可以去做你的临时工作了,做完以后再来取走,就可以继续之前手头的事了。从来没有被track的文件(即被 add 过的文件)不会被 stash 起来

git stash
复制代码

如果想把没有被 track 的文件这些文件也一起 stash,可以加上 -u 参数

git stash -u
复制代码

将当前所有stash的版本打印出来

git stash list
复制代码

将指定版本号下存储的内容取出来

git stash apply stash@{1}
复制代码

将所有的栈都应用回来的时候,可以将栈清空

git stash clear
复制代码

reset

回退到某一个commit

git reset -–hard de0245cf 
复制代码

reset 指令的本质:重置 HEAD 以及它所指向的 branch 的位置。 reset 的三种参数:

git reset --hard HEAD^
复制代码

–hard:重置位置的同时,清空工作目录的所有改动;

–soft:重置位置的同时,保留工作目录和暂存区的内容,并把重置 HEAD 的位置所导致的新的文件差异放进暂存区。

–mixed(默认):重置位置的同时,保留工作目录的内容,并清空暂存区。

merge

合并冲突解决后,无需commit,使用后继续合并:

git merge --continue
复制代码

冲突后,取消本次合并:

git merge --abort
复制代码

如果 HEAD 和目标 commit 依然是不存在分叉,并且落后于目标 commit,这种操作有一个专有称谓,叫做 “fast-forward”(快速前移)

添加额外的fast forward提交信息

git merge feature1 --no--ff 
复制代码

pull

git pull = git fectch + git merge
复制代码

log

查看最近几次commit的改动的文件(-3表示最近三次)

git log -3 --stat
复制代码

log -p 查看详细历史

git log -p
复制代码

-p--patch 的缩写

大致看一下改动内容

git log --stat
复制代码

图形化查看commit

git log --graph
复制代码

查看具体的commit

git show 5e68b0d8
复制代码

看指定 commit 中的指定文件

git show 5e68b0d8 a.txt
复制代码

diff

显示暂存区和上一条提交之间的不同

如果你此时输入 git commit,你将会提交什么

git diff --staged
复制代码

比对工作目录和暂存区

如果你现在把所有文件都 add,你会向暂存区中增加哪些内容:

git diff
复制代码

rebase

不希望 commit 历史出现分叉,可以用 rebase 来代替 merge

git rebase 目标基础点
复制代码

rebase不会修改基础点的commit,而是会从原基础点复制一份新的commit,如果有冲突就在这个commit里处理

想修改之前某个提交的内容,可以使用rebase交互式

当前有三个提交:
(1)6cdacb  //最近一次的提交
(2)3988f81
(3)ef266b4
现在想修改第(2)个ef266b的内容,比如说提交的commit log的信息、或者具体代码内容
先rebase -i 4bfee6到第(3)个,改命令将提示出:

pick 3988f8 ...
pick 6cdacb ...

由于要修改第二个ef266b,将pick修改为
edit ef266b4
然后就可以对文件进行修改,改完后git add ,然后再
git commit --amend
就可以修改提交的commit log信息
然后使用以下命令继续修改下一个,也就是第(1)个提交6cdacb。如果没有下一个就会直接完成
git rebase --continue
复制代码

note:依旧不会直接在之前commit里面修改,rebase之后的commit全是新的

revert

如果出错的内容已经合并到 master,就不能用rebase,否则强制 push 会不会洗掉同事刚发上去的新提交,很容易出问题的,

这种情况下可以这么用revert:

你希望撤销哪个 commit,就把它填在后面

git revert HEAD^
复制代码

这行代码就会增加一条新的 commit,它的内容和倒数第二个 commit 是相反的,从而和倒数第二个 commit 相互抵消,达到撤销的效果。

reflog

reflog 是 “reference log” 的缩写,使用它可以查看 Git 仓库中的引用的移动记录。reflog 默认查看 HEAD 的移动历史。可以手动加上名称来查看其他引用的移动历史,例如某个 branch

git reflog master
复制代码

cheery-pick

cherry-pick 是一种特殊的合并操作,使用它可以选择一个或多个 commit,按序合并到当前的branch。

git cherry-pick 6cdacb
复制代码

Gradle

1.查看依赖树关系

./gradlew :模块名:dependencies 
或者只看 implementation
./gradlew :模块名:dependencies --configuration implementation
复制代码

签名

apksigner

apksigner命令路径 sign --ks 签名 apk路径
复制代码

ex:

/Users/xxx/Library/Android/sdk/build-tools/29.0.3/apksigner sign --ks /Users/xxxx/Downloads/a.keystore  /Users/xxx/Downloads/a.apk
复制代码

其他

AS编译,出现too many file报错

sudo launchctl limit maxfiles 50000 200000
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享