Note

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学习
各个语言ignore

修改git提交信息

在git clone 项目的时候, 竟然报错了no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

git push 报错:missing Change-Id in commit message footer

Git HEAD detached from XXX 解决

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 

优化

深入探索Android启动速度优化

VIEW

绘制流程小细节,如何修改 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 

ADB 操作命令详解及用法大全

内存耗用:VSS/RSS/PSS/USS 的介绍
抖音 Android 性能优化系列:启动优化之理论和工具篇
首发尝鲜!字节开源 Btrace 性能分析工具
抖音 Android 性能优化系列:新一代全能型性能分析工具 Rhea
Android 性能优化---绘制优化篇

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容