常用linux命令和git命令

1.git常用命令
   1.2.   git format-patch -2(整理兩個最新的補丁)
            git format-patch -1
            git format-patch -1 -s 提交號
      如:git format-patch -1 -s aece5444b5415448415c5ea127fc5c0fd407b834(解決sip,sip.void | device/rockchip/sofia3gr$
   1.3.   git log --author="hxw"(查找hxw修改的日誌)
   1.4.   git status   (列出修改的文件)   git stash (保存當前的工作現場)
   1.5.   git add . (將當前目錄的全部文件加到緩存)  git add aa.c bb.cpp (將多個文件以空格隔開,加到緩存)
   1.6    git commit -m "lzx:commit for aa.txt...." (提交指定文件,參考git commit -help)
   1.7    git show 0180625fb930003eb731e541113e1281801e7a72>aa.patch(將日誌生成補丁文件
   1.8    git apply aa.patch(打上補丁
            patch -p0 <to-file.patch( (參考)打上補丁
    1.9   patch -RE -p0<to-file.patch( 取消補丁
    2.0   sync -f  可以獲取到所有正確的代碼。
    2.1   git am *.patch     直接打上並提交補丁
            git checkout -f   切換分支(checkout後跟分支名)
            git branch -d   分支名    ||| 刪除分支名
            (git branch -D 分支名   |||強制刪除)
            獲取遠程分支:  git fetch rk(rk爲遠程分支名字)
          切到分支後,更新代碼無效。(因爲沒有新建本地分支,用右邊命令)  kaka@rk-intel-1:~/vmm_Android/bootsystems$ git checkout -b sofia3gr_phone -f remotes/rk29/sofia3gr_phone
            再執行git pull --rebase 拉取遠程服務器分支(更新代碼)

    2.2   如果要將開發中的分支(develop),合併到穩定分支(master),

           首先切換的master分支:git checkout master。

            然後執行合併操作:git merge develop。

            如果有衝突,會提示你,調用git status查看衝突文件。

            解決衝突,然後調用git add或git rm將解決後的文件暫存。

            所有衝突解決後,git commit 提交更改。

            例如:將acc2f69提交合併到當前分支

             git merge acc2f69

            git push 到遠端分支
git commit --amend --author="[email protected]"  舊的修改作爲新的提交 
   Settings目錄下補丁打不上去:git apply sound_display2.patch 
    退回到kitkat目錄下打補丁:patch -p1 < sound_display2.patch  能打上去

 frameworks/base$ git add services/core/java/com/android/server/AlarmManagerService.java             //添加修改
frameworks/base$ git commit -m "alms for AutoSwitch function"                                    //提交  備註
 git push rk lzx:sofia/phone/5.1/develop                                    //push 到主線
packages/apps/Settings$ git push rk linzx:sofia/phone/5.1/develop 
新加的應用,到/packages/apps$ git clone ssh://[email protected]/platform/packages/apps/SchedulePowerOnOff(複製已有的目錄到本地倉庫)
添加你 SchedulePowerOnOff裏面的代碼及資源文件 (在已有的倉庫裏git add . )

 提交SchedulePowerOnOff項目流程
git clone ssh://[email protected]/platform/packages/apps/SchedulePowerOnOff
/packages/apps/SchedulePowerOnOff$ cp -rf ../AutoSwitch/SchedulePowerOnOff/* .
git status .
/apps/SchedulePowerOnOff$ git add .
/packages/apps/SchedulePowerOnOff$ git status
/packages/apps/SchedulePowerOnOff$ git add .
/packages/apps/SchedulePowerOnOff$ git status
/packages/apps/SchedulePowerOnOff$ git commit .
packages/apps/SchedulePowerOnOff$ git branch 
packages/apps/SchedulePowerOnOff$ git branch -av
packages/apps/SchedulePowerOnOff$ git push origin master:master


   2.2 先更新,然後 git cherry-pick  用於把另一個本地分支的commit修改應用到當前分支
     git reset HEAD^ --hard
     git reset --hard d20a25753a0840ef4ae6d4fffaf0605a7fe923de (回退到該提交點)
     git pull --rebase 將服務器上最新代碼拉到本地服務器
     git cherry pick   將遠程提交移植到本地代碼
      
     * git revert HEAD                  撤銷前一次 commit
    * git revert HEAD^               撤銷前前一次 commit
    * git revert commit (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤銷指定的版本,撤銷也會作爲一次提交進行保存。
     執行revert的時候: ctrl+c->保存推出

git checkout 751171fea557828047df370ba7bc3937c205628e -b caijq   切分支
# 刪除 untracked files     git clean -f
# 連 untracked 的目錄也一起刪掉   git clean -fd
# 連 gitignore 的untrack 文件/目錄也一起刪掉 (慎用,一般這個是用來刪掉編譯出來的 .o之類的文件用的)  git clean -xfd
# 在用上述 git clean 前,建議加上 -n 參數來先看看會刪掉哪些文件,防止重要文件被誤刪
git clean -nxfd
git clean -nf
git clean -nfd
git clone [email protected]:ossxp/gitboot.git 
sudo git config --system alias.st staus  將status設置別名爲st
或者git config --global alias.st  status

git config --global color.ui  true

1. git stash
Saved working directory and index state WIP on (no branch): bedbb74 Revert "modify default wallpaper"
HEAD is now at bedbb74 Revert "modify default wallpaper"
2.git am --abort
3.git am 0001-AlarmManagerService-add-rtc-bootup-type.patch
Applying: AlarmManagerService: add rtc bootup type
4.git show

選擇部分修改文件生成對應補丁:
git add 加到緩存區
git diff --cached > aaa.patch    

一種是 git rm --cached "文件路徑",不刪除物理文件,僅將該文件從緩存中刪除;

一種是 git rm --f "文件路徑",不僅將該文件從緩存中刪除,還會將物理文件刪除(不會回收到垃圾桶)。

git diff --cached --bianry > temp.patch   //圖片則

git reset HEAD src/com/android/settings/Settings.java  //從緩存區中清除單個文件修改記錄

2.adb常用命令:
   am參數:http://www.cnblogs.com/08shiyan/p/3467452.html
    2.1 adb -s Prestigio20150826 shell
    2.2.adb -s Prestigio20150826 install -r CtsVerifier.apk (安裝apk) 
    2.3.adb -s Prestigio20150826 uninstall com.android.cts.verifier(卸載apk)
    2.4 adb -s 35000011   push  bootanimation.zip  /system/media (推送壓縮文件)
          adb shell
          getprop |  grep  status(查看線程狀態)
          adb shell
          getprop | grep yuv (查看dtsi)
     查看手機carmera配置文件:adb shell
          cd system/etc/permissions/
          at android.hardware.camera.xml | grep flash      (查找flash字段相關的文件)           
          cat  table.xml    (顯示tablet文件詳細信息)
      monkey測試:啓動指定的應用程序,並向其發送500個僞隨機事件
      $ adb shell monkey -p your.package.name -v 500 
      logcat -v time -s AlarmManager  查看串口關機鬧鐘時間設置
      setprop persist.service.apklogfs.enable 1             aplog未打開,在adb shell下將aplog打開
       adb push C:\Users\Administrator\build.prop /system/build.prop

3.linux常用命令:
   壓縮:/sofia_5.1/packages/apps$ tar   -zcvf    Dialer.tar.gz    Dialer
             以zip方式壓縮文件:~/tt/bootanimation$   zip  -Z  store  bootanimation.zip   part0/*.jpg  desc.txt 

          tar -zcvf 打包後生成的文件名全路徑 要打包的目錄

   解壓tar:  tar –xvf file.tar
 壓縮: tar -zcvf GMS-FLS-R26-09-11.tar.gz rockdev/
dxj@rksz-server101:~/yuyongzhen/sofia5.1-sdk/device/rockchip$ tar -zcvf sofia3gr.tar.gz sofia3gr/
   解壓到指定目錄下:lzx@ubuntu:~$ tar -zxvf android_rockchip_sofia3gr_5_1.tar.gz -C android_rockchip_sofia3gr_3787/
   解壓tar.gz:  tar -xzvf file.tar.gz
   複製:dir2不存在用:cp -r dir1 dir2
             dir2已存在用:cp -r dir1/. dir2
   複製ubuntu下的adb:cp /usr/bin/adb  /media/kkkkk/設備名(具體目錄)
複製:lzx@ubuntu:~/android_rockchip_sofia3gr_5_1_source_code_2015_08_04_20_16_40/out/target/product/sofia3gr/system$ 
cp -r build.prop ~/android_rockchip_sofia3gr_5_1_source_code_2015_08_04_20_16_40/
lzx@ubuntu:~/pinwang-sofiaGms/cts$ cp -r pinwang-0923/plugins out/target/product/sofia3gr/system/lib/ (整個目錄拷貝)
 從小偉服務器上考文件到本地服務器:lzx@ubuntu:~$ scp [email protected]:~/android_rockchip_sofia3gr_5_1.tar.gz ~/

  tar –xvf file.tar //解壓 tar包

  tar -xzvf file.tar.gz //解壓tar.gz

  tar -xjvf file.tar.bz2 //解壓 tar.bz2

  tar –xZvf file.tar.Z //解壓tar.Z

  unrar e file.rar //解壓rar

  unzip file.zip //解壓zip

  解壓文件到指定目錄如:/home/one.tar解壓到  /home/www/ 目錄下

   tar  格式  /home/one.tar -C /home/www/

  文件解壓參考:http://jingyan.baidu.com/article/6c67b1d6ee71dc2787bb1e28.html
    
    sz ../vendor/intel/images/hex/slb.hex   直接下載文件到C:\Users\Administrator\Downloads目錄下

   make:根據Makefile編譯源代碼,連接,生成目標文件,可執行文件。
   make clean:

清除上次的make命令所產生的object文件(後綴爲“.o”的文件)及可執行文件。

make install

將編譯成功的可執行文件安裝到系統目錄中,一般爲/usr/local/bin目錄。

1!! (連續兩個”!”),表示執行上一條指令;(2!n(這裏的n是數字),表示執行命令歷史中第n條指令,例如”!100”表示執行命令歷史中第100個命令;(3!字符串(字符串大於等於1),例如!ta,表示執行命令歷史中最近一次以ta爲開頭的指令


4.相關博客:
     gps,sensor,camera,wifi,藍牙verifier測試是ok的。
   4.4 CTS測試環境搭建:
   4.4 IBM開源網站(產品定製):http://www.ibm.com/developerworks/cn/
     Android加密理解(Byod Manger   cts verifier問題):http://blog.csdn.net/innost/article/details/44519775
    系統垃圾文件清理: http://jingyan.baidu.com/article/d5c4b52bc1951eda560dc593.html(D:\forcompany\qingli.bat)  
  android monkey使用:http://hubingforever.blog.163.com/blog/static/17104057920117343625575/
    https://source.android.com/source/index.html
    二維碼掃描:http://blog.csdn.net/xiaanming/article/details/10163203
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章