常用linux命令和git命令

来源:互联网 发布:mac上好玩的单机小游戏 编辑:程序博客网 时间:2024/05/30 12:03
1.git常用命令
   1.1.参考网页:http://blog.csdn.net/eastmoon502136/article/details/7735957
         http://www.jb51.net/article/55441.htm            http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374027586935cf69c53637d8458c9aec27dd546a6cd6000 
   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="kaka.lin@rock-chips.com"  旧的修改作为新的提交 
   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://git@10.10.10.29/platform/packages/apps/SchedulePowerOnOff(复制已有的目录到本地仓库)
添加你 SchedulePowerOnOff里面的代码及资源文件 (在已有的仓库里git add . )

 提交SchedulePowerOnOff项目流程
git clone ssh://git@10.10.10.29/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修改应用到当前分支
   http://blog.csdn.net/hudashi/article/details/7669462
     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 -nxfdgit clean -nfgit clean -nfd
git clone git@obj.ossxp.com: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 hxw@172.16.19.103:~/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.相关博客:
   4.1 shell if用法:http://blog.csdn.net/crazyhacking/article/details/10182563
   4.2 CTS virifier测试:http://www.cnblogs.com/zh-ya-jing/p/4452675.html
     gps,sensor,camera,wifi,蓝牙verifier测试是ok的。
   4.3 安卓中国官网:http://wear.techbrood.com/sdk/installing/installing-adt.html
   4.4 CTS测试环境搭建:
   4.4 IBM开源网站(产品定制):http://www.ibm.com/developerworks/cn/
   5.GMS包apk详细:http://www.douban.com/note/315360286/?type=like
   6.SDK和NDK下载:http://www.cnblogs.com/yaotong/archive/2011/01/25/1943615.html
     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/
    android.mk:http://hubingforever.blog.163.com/blog/static/1710405792011656434982/?suggestedreading&wumii
    https://source.android.com/source/index.html
    二维码扫描:http://blog.csdn.net/xiaanming/article/details/10163203
0 0
原创粉丝点击