GIT
查看本地分支
git branch
查看所有分支--帶remotes代表遠(yuǎn)程分支
git branch -a
本地新創(chuàng)建一個(gè)分支dev
git checkout -b dev
Switched to branch 'dev'
若遠(yuǎn)程沒有dev分支健爬,將新創(chuàng)建的分支push到遠(yuǎn)程
git push origin dev
當(dāng)push時(shí)遇到如下錯(cuò)誤:
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一個(gè)項(xiàng)目此衅,git branch時(shí)只顯示master分支读存,查看git branch -a 顯示所有分支
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
此時(shí)本地想創(chuàng)建一個(gè)dev分支與遠(yuǎn)程dev關(guān)聯(lián)
$ 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上進(jìn)行push
git stash 將自己代碼存起來
git pull 從遠(yuǎn)程庫pull最新的下來
git stash apply 將自己代碼取出來涛救,會(huì)跟剛pull代碼產(chǎn)生沖突毁枯,解決沖突
git add .
git commit -m "xxx"
git push
clone遠(yuǎn)程某一分支dev
$ git clone -b dev https://github.com/helloconch/TT.git
切換分支
git checkout dev
在dev上開發(fā)完功能边败,合并到主分支
a.dev分支將新修改的內(nèi)容add袱衷、commit、push到dev分支
b.切換到master 執(zhí)行g(shù)it merge dev 然后push
若dev功能還未開發(fā)完笑窜,可先推到遠(yuǎn)程dev分支
刪除本地分支dev2
a.切換到master分支 git checkout master
b.刪除分支 git branch -d dev2
合并分支后,push時(shí)異常
git merge release_xx --no-ff
將電腦隱藏文件進(jìn)行顯示致燥,命令行執(zhí)行完畢后,重啟Finder
defaults write com.apple.finder AppleShowAllFiles -bool true
mac系統(tǒng)下排截,如果改壞了bash_profile后的救助方法
export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
vi命令
x 刪除
a 編輯
dd 刪除整行
Esc 命令狀態(tài)
:wq 退出
vi test 保存后創(chuàng)建test文件
cat test 查看
常用命令
mkdir test2 創(chuàng)建文件夾
rm -rf test2 刪除文件夾
ls
ls -a 查看到隱藏目錄
ls -l 查看目錄下所有
git init git初始化
git remote add origin https://gitee.com/che.conch/gittest.git 與遠(yuǎn)程倉庫關(guān)聯(lián)
git add --all
git commit -m "add"
git commit -am "xxx" 等同于add和commit
git fetch 相當(dāng)于是從遠(yuǎn)程獲取最新版本到本地嫌蚤,不會(huì)自動(dòng)merge
git pull 相當(dāng)于是從遠(yuǎn)程獲取最新版本并merge到本地
git merge -h 獲取合并操作對(duì)操作說明
git config core.ignorecase false 區(qū)分大小寫
git diff
查看更改前后的差別
git diff --staged / git diff --cached /git diff HEAD 比較暫存區(qū)
git checkout -b dev -t origin/master 新創(chuàng)建對(duì)分支dev與遠(yuǎn)程master track
git branch -vv 查看分支關(guān)聯(lián)情況
git branch -m dev dev_new 分支修改名字
git branch -d dev_new
`-d`是`--delete`的縮寫,在使用`--delete`刪除分支時(shí),該分支必須完全和它的上游分支merge完成(了解[上游分支](http://www.reibang.com/p/89c3d2fb1a66),可以點(diǎn)擊查看鏈接),如果沒有上游分支,必須要和`HEAD`完全merge
`-D`是`--delete --force`的縮寫,這樣寫可以在不檢查merge狀態(tài)的情況下刪除分支
git pull --rebase 拉取最新數(shù)據(jù),并將基準(zhǔn)點(diǎn)改為最新點(diǎn)断傲。
gitk& 查看視圖結(jié)構(gòu)
git revert 4d2dc3674358efed8f61e0523e03b21f16d493ee 回到某個(gè)點(diǎn)脱吱,本地會(huì)被刪除,push后认罩,遠(yuǎn)程會(huì)被刪除箱蝠。
git reset --hard ddd8a2dc1750578ff65c694247685ff46474c459 回到某個(gè)點(diǎn),進(jìn)行問題出到點(diǎn)垦垂。
git checkout --conflict=diff3 xxxfile 更加友好點(diǎn)形式展示沖突
git tag <tagname>用于新建一個(gè)標(biāo)簽宦搬,默認(rèn)為HEAD,也可以指定一個(gè)commit id乔外;
git tag -a <tagname> -m "blablabla..."可以指定標(biāo)簽信息床三;
git tag可以查看所有標(biāo)簽。
git push origin <tagname>可以推送一個(gè)本地標(biāo)簽杨幼;
git push origin --tags可以推送全部未推送過的本地標(biāo)簽
git tag -d <tagname>可以刪除一個(gè)本地標(biāo)簽撇簿;
創(chuàng)建tag命令
git tag -a v1.0 commitid -m "對(duì)Tag的描述信息"
提交tag命令
git push origin v0.1.2 # 將v0.1.2標(biāo)簽提交到git服務(wù)器
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>可以刪除一個(gè)遠(yuǎn)程標(biāo)簽
git reset HEAD^
git stash 用于把自己的代碼存起來
git stash apply 用于把自己的代碼拿出來
提交之前應(yīng)該先把自己的存起來聂渊,然后拉新代碼,可以減少因?yàn)楹喜_突引起的二次commit
git log --graph 用圖表的形式輸出提交日志,非常直觀
git log只能查看以當(dāng)前狀態(tài)為終點(diǎn)的歷史日志
git reflog 查看當(dāng)前倉庫的操作日志
git commit --amend 修改提交信息
git rebase -i 壓縮歷史
在合并特性分支之前四瘫,如果發(fā)現(xiàn)已提交的內(nèi)容中有些拼寫錯(cuò)誤汉嗽,不妨提交一個(gè)修改,然后將這個(gè)修改包含到前一個(gè)提交之中找蜜,壓縮成一個(gè)提交記錄饼暑。
git rebase -i HEAD~2
創(chuàng)建.ssh
> 命令行運(yùn)行
git config --global user.name "abc"
git config --global user.email "abc@xx.cn"
ssh-keygen -t rsa -C 'abc@xx.cn'
點(diǎn)擊3次回車
配置文件
git push 報(bào)錯(cuò):missing Change-Id in commit message footer
ADB
清除日志
adb shell logcat -c
保存日志
adb shell logcat -v time > D:/log.txt
殺掉某個(gè)應(yīng)用
adb shell am force-stop com.x.x.x
TIMEOUT /T 1
啟動(dòng)某個(gè)應(yīng)用
adb shell am start -n com.x.x/com.x.x.x.xActivity
當(dāng)前活動(dòng)窗口
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
過濾某個(gè)標(biāo)簽
adb shell logcat -v time > C:\Users\86150\Desktop\log\log.txt -s AABBCCDD
某些設(shè)備開啟抓日志權(quán)限
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
優(yōu)化
VIEW
繪制流程小細(xì)節(jié)洗做,如何修改 View繪制的順序弓叛?
圖片在drawable中總結(jié)
同一個(gè)設(shè)備160dpi 不同drawable mdpi 和 hdpi放同一張圖
drawable mdpi低密度文件夾下
設(shè)備信息:width:320 height:480 density:1.0 densityDpi:160
圖片信息:width:192 height:192
drawable hdpi高密度文件夾下
設(shè)備信息:width:320 height:480 density:1.0 densityDpi:160
圖片信息:width:128 height:128
結(jié)論: 假設(shè)圖片應(yīng)該放置在低密度文件夾中給低密度設(shè)備使用,而私自將圖片改到高密度文件夾诚纸,會(huì)導(dǎo)致圖片顯示變小撰筷。
同一個(gè)drawable mdpi下的一張圖在 不同的設(shè)備dpi mdpi 和 hdpi
設(shè)備低密度下
設(shè)備信息: width:320 height:480 density:1.0 densityDpi:160
圖片信息: width:192 height:192
設(shè)備高密度下
設(shè)備信息: width:480 height:854 density:1.5 densityDpi:240
圖片信息: width:288 height:288
結(jié)論:假設(shè)圖片應(yīng)該放在在低密度文件夾下給低密度設(shè)備使用,在高密度設(shè)備會(huì)被放大畦徘。
抓包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
內(nèi)存耗用:VSS/RSS/PSS/USS 的介紹
抖音 Android 性能優(yōu)化系列:?jiǎn)?dòng)優(yōu)化之理論和工具篇
首發(fā)嘗鮮毕籽!字節(jié)開源 Btrace 性能分析工具
抖音 Android 性能優(yōu)化系列:新一代全能型性能分析工具 Rhea
Android 性能優(yōu)化---繪制優(yōu)化篇