GIT
查看本地分支
git branch
查看所有分支--带remotes代表远程分支
git branch -a
本地新创建一个分支dev
git checkout -b dev
Switched to branch 'dev'
若远程没有dev分支,将新创建的分支push到远程
git push origin dev
当push时遇到如下错误:
fatal: The current branch develop has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin dev
新clone一个项目,git branch时只显示master分支,查看git branch -a 显示所有分支
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
此时本地想创建一个dev分支与远程dev关联
$ git checkout -b dev origin/dev
Switched to a new branch 'dev'
Branch 'dev' set up to track remote branch 'dev' from 'origin'.
在dev修改某一文件
git add .
git commit -m 'update'
git push
在dev上进行push
git stash 将自己代码存起来
git pull 从远程库pull最新的下来
git stash apply 将自己代码取出来,会跟刚pull代码产生冲突,解决冲突
git add .
git commit -m "xxx"
git push
clone远程某一分支dev
$ git clone -b dev https://github.com/helloconch/TT.git
切换分支
git checkout dev
在dev上开发完功能,合并到主分支
a.dev分支将新修改的内容add、commit、push到dev分支
b.切换到master 执行git merge dev 然后push
若dev功能还未开发完,可先推到远程dev分支
删除本地分支dev2
a.切换到master分支 git checkout master
b.删除分支 git branch -d dev2
合并分支后,push时异常
git merge release_xx --no-ff
将电脑隐藏文件进行显示,命令行执行完毕后,重启Finder
defaults write com.apple.finder AppleShowAllFiles -bool true
mac系统下,如果改坏了bash_profile后的救助方法
export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
vi命令
x 删除
a 编辑
dd 删除整行
Esc 命令状态
:wq 退出
vi test 保存后创建test文件
cat test 查看
常用命令
mkdir test2 创建文件夹
rm -rf test2 删除文件夹
ls
ls -a 查看到隐藏目录
ls -l 查看目录下所有
git init git初始化
git remote add origin https://gitee.com/che.conch/gittest.git 与远程仓库关联
git add --all
git commit -m "add"
git commit -am "xxx" 等同于add和commit
git fetch 相当于是从远程获取最新版本到本地,不会自动merge
git pull 相当于是从远程获取最新版本并merge到本地
git merge -h 获取合并操作对操作说明
git config core.ignorecase false 区分大小写
git diff
查看更改前后的差别
git diff --staged / git diff --cached /git diff HEAD 比较暂存区
git checkout -b dev -t origin/master 新创建对分支dev与远程master track
git branch -vv 查看分支关联情况
git branch -m dev dev_new 分支修改名字
git branch -d dev_new
`-d`是`--delete`的缩写,在使用`--delete`删除分支时,该分支必须完全和它的上游分支merge完成(了解[上游分支](https://www.jianshu.com/p/89c3d2fb1a66),可以点击查看链接),如果没有上游分支,必须要和`HEAD`完全merge
`-D`是`--delete --force`的缩写,这样写可以在不检查merge状态的情况下删除分支
git pull --rebase 拉取最新数据,并将基准点改为最新点。
gitk& 查看视图结构
git revert 4d2dc3674358efed8f61e0523e03b21f16d493ee 回到某个点,本地会被删除,push后,远程会被删除。
git reset --hard ddd8a2dc1750578ff65c694247685ff46474c459 回到某个点,进行问题出到点。
git checkout --conflict=diff3 xxxfile 更加友好点形式展示冲突
git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag可以查看所有标签。
git push origin <tagname>可以推送一个本地标签;
git push origin --tags可以推送全部未推送过的本地标签
git tag -d <tagname>可以删除一个本地标签;
创建tag命令
git tag -a v1.0 commitid -m "对Tag的描述信息"
提交tag命令
git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
git tag -a V3.0.65_20210426_XX_CMCC f2b676dbb2935a7e3e0e21a169e71df50c030122 -m "XX打tag"
git push origin V3.0.65_20210426_XX_CMCC
git push origin :refs/tags/<tagname>可以删除一个远程标签
git reset HEAD^
git stash 用于把自己的代码存起来
git stash apply 用于把自己的代码拿出来
提交之前应该先把自己的存起来,然后拉新代码,可以减少因为合并冲突引起的二次commit
git log --graph 用图表的形式输出提交日志,非常直观
git log只能查看以当前状态为终点的历史日志
git reflog 查看当前仓库的操作日志
git commit --amend 修改提交信息
git rebase -i 压缩历史
在合并特性分支之前,如果发现已提交的内容中有些拼写错误,不妨提交一个修改,然后将这个修改包含到前一个提交之中,压缩成一个提交记录。
git rebase -i HEAD~2
创建.ssh
> 命令行运行
git config --global user.name "abc"
git config --global user.email "abc@xx.cn"
ssh-keygen -t rsa -C 'abc@xx.cn'
点击3次回车
配置文件
git push 报错:missing Change-Id in commit message footer
ADB
清除日志
adb shell logcat -c
保存日志
adb shell logcat -v time > D:/log.txt
杀掉某个应用
adb shell am force-stop com.x.x.x
TIMEOUT /T 1
启动某个应用
adb shell am start -n com.x.x/com.x.x.x.xActivity
当前活动窗口
adb shell dumpsys activity | findstr "mFocus"
push文件
adb root
TIMEOUT /T 1
adb remount
TIMEOUT /T 1
adb push E:\box-hosts\2\hosts /system/etc/hosts
TIMEOUT /T 1
打开布局视图
adb shell setprop debug.layout true
过滤某个标签
adb shell logcat -v time > C:\Users\86150\Desktop\log\log.txt -s AABBCCDD
某些设备开启抓日志权限
adb shell setprop persist.sys.logd.level V
aapt
D:\Android\SDK\build-tools\23.0.1\aapt.exe d badging C:\Users\86150\Desktop\ynsw.apk
D:\Android\SDK\build-tools\23.0.1\aapt.exe d permissions C:\Users\86150\Desktop\ynsw.apk
优化
VIEW
图片在drawable中总结
同一个设备160dpi 不同drawable mdpi 和 hdpi放同一张图
drawable mdpi低密度文件夹下
设备信息:width:320 height:480 density:1.0 densityDpi:160
图片信息:width:192 height:192
drawable hdpi高密度文件夹下
设备信息:width:320 height:480 density:1.0 densityDpi:160
图片信息:width:128 height:128
结论: 假设图片应该放置在低密度文件夹中给低密度设备使用,而私自将图片改到高密度文件夹,会导致图片显示变小。
同一个drawable mdpi下的一张图在 不同的设备dpi mdpi 和 hdpi
设备低密度下
设备信息: width:320 height:480 density:1.0 densityDpi:160
图片信息: width:192 height:192
设备高密度下
设备信息: width:480 height:854 density:1.5 densityDpi:240
图片信息: width:288 height:288
结论:假设图片应该放在在低密度文件夹下给低密度设备使用,在高密度设备会被放大。
抓包adb+tcpdump+wireshark
Android抓包方法之Tcpdump命令+Wireshark
开始tcpdump
adb push tcpdump /data/local/tcpdump
adb shell chmod 6755 /data/local/tcpdump
adb shell rm -r /sdcard/play3.pcap
adb shell /data/local/tcpdump -i any -p -s 0 -w /sdcard/play3.pcap
pause
下载tcpdump文件到电脑
adb pull /sdcard/play3.pcap C:\Users\86150\Desktop\capture.pcap
内存耗用:VSS/RSS/PSS/USS 的介绍
抖音 Android 性能优化系列:启动优化之理论和工具篇
首发尝鲜!字节开源 Btrace 性能分析工具
抖音 Android 性能优化系列:新一代全能型性能分析工具 Rhea
Android 性能优化---绘制优化篇