以前用命令提代码都是复制粘贴,现在换了工作后,特别是回退代码的命令又忘了,去网上查了好久,心累。特此Mark一下

1. 打patch:
  1.1 git diff >> ljh.patch
  1.2 patch –p1 < ljh.patch
2. 查看本地修改与服务器上的区别,一般都是用beyond compare,其实可以用meld +文件的绝对路径:
  eg:meld /home/longjunhao/src/android-trident-trinity/packages/inputmethods/IMESmartisan/app/src/main/java/com/smartisanos/ime/keyboard/view/IMETextView.java
3. 隐藏修改,常用命令:
  1.1 git stash
  1.2 git stash pop
  1.3 git stash list
  1.4 git stash save tmp
  1.5 git stash apply stash@{0}
  最后这两个命令也类似,不习惯用
4. 查找修改历史:
  git blame –L 92,99 xxx.java
5. 查找某个变量:
  进入要查找的路径下执行:grep -rw “xxx” ./或者grep -rw 'xxx' ./
  如果不是全词查找可以为:grep -r "xxx" ./
  如果需要把查找的内容导出到文件,可以执行:grep -r "xxx" ./ > ~/longjunhao.log &

6. 查找某个文件的提交记录:gitk 文件
  eg: gitk app/src/main/java/com/smartisanos/ime/view/popwin/SoftComposingText.java
7. 提代码流程:
  1.1 git pull
  1.2 git status
  1.3 git add
  1.4 git status
  1.5 git commit –m “提交备注”
  1.6 二次提交:git commit –amend
  1.7 二次提交只修改commit时:git commit --amend –s
  1.8 git push 或者 repo upload .eg: git push EMUI HEAD:refs/for/master 或者git push -u origin master
8. 更新代码常用命令:
  1.1 repo sync -c packages/app/Mms【根路径下跟新某个模块代码】、
  1.2 git pull 在模块路径下更新拉代码所在的主线代码
  1.3 git pull smartisanos trinity_dev
  1.4 git pull --rebase smartisanos trinity_dev
 【注】代码合入之后,再git pull跟新代码时,【如果没有新建分支,直接在主线上提交代码,pull的时候最好加下--rebase,这样当代码merged之后,更新代码再git status会显示本地代码和主线代码一致。eg:用git pull --rebase smartisanos trinity_dev而不是用git pull smartisanos trinity_dev 其中smartisanos trinity_dev是分支名】
9. 撤销代码:
  1.1 git reset --soft HEAD^ 撤销已经提上但没有合入的代码
  1.2 git reset 撤销已经add的但是没有提上的代码
  1.3 git reset --hard HEAD^是什么意思呢?
10. 编译代码:
  1.1 在Android.mk路径下:mm 或者mma
  1.2 make Mms -j12(需要在Android工程的根路径下,执行make之前,先要执行:source build/envsetup.sh 和 lunch选项目)
11. ubuntu系统下安装软件:
  1.1 安装deb软件:sudo apt-get -f install
  1.2 解压zip:unzip FileName.zip
12. 安装apk:
  1.1 adb install -r
  1.2 adb push ,如果用push需要重启,最近刚发现不重启也行,直接杀死进程即可:eg命令1:adb shell am force-stop com.smartisanos.ime或者用命令2:adb shell pkill ime是杀死所有包含ime的进程
13. 分支相关命令:
  1.1 新建分支:repo start ljh .
  1.2 切换分支:git checkout ljh
  1.3 强制切换其他主线分支:eg: git co smartisanos/trident-trinity -b trident-trinity
  1.4 git fetch会把远程服务器上所有的更新都拉取下来
  1.5 git branch –vv
  1.6 git branch –a
  1.7 其中git co smartisanos/trident-trinity -b trident-trinity :是基于远程的smartisanos/trident-trinity分支新建一个trident-trinity分支。即: git checkout 服务器分支 -b 本地分支
14. 查找crash堆栈的发生时间:
  date -d @时间(去掉后三位)eg:date -d @1523673060
15. adb logcat -s TAG 用命令查看log
  参考: https://blog.csdn.net/listening_music/article/details/7518990
16. 用命令截取手机屏幕:adb shell screencap -p /sdcard/1.png
17. 在Androidstudio annotate上看不到历史提交记录,在工程路径下执行git fetch --depth 100000 就行了
18. 服务器的分支更新:git fetch --all 或者 git fetch
19. 查看命令的记录 :history
20. 查找命令执行的历史记录:history。如果想直接执行历史记录中的某一个命令:ctr+r,然后输入模糊匹配,确定后回车即可
21. github 提代码命令
  1.1 git commit -m "add AIDL demo"
  1.2 git push -u origin master
22. 如果多人多个路径同时提交代码时,尽可能的多执行rebase操作,如下命令:
  1.1 git pull --rebase origin t11
  1.2 git status ./
  1.3 git add .
  1.4 git status ./
  1.5 git pull --rebase origin t11
  1.6 git commit
  1.7 git push origin HEAD:refs/for/t11
  1.8 git pull --rebase origin t11
23. 查看settings中的属性:
  eg:通过android.provider.Settings.Global.putString(mContext.getContentResolver(), "ebenInputMode", ebenInputMode)来写到setting中,可以在cmd中通过如下命令获取 adb shell settings get global ebenInputMode
24. 回退版本:
  方法一、git log后找到要回退的commitId,执行git reset --hard commitId
  方法二、复制gerrit中的“git checkout”命令,在模块中执行即可。
25. adb shell ps -e 查看当前运行的进程
26. adb shell dumpsys package com.ebensz.enote.widget | findstr versionName  查找版本号 。adb shell dumpsys package com.ebensz.enote.widget 查找配置信息
27. 某个模块monkey测试命令:adb shell monkey -p com.ebensz.copybook --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000000 > D:\ljh\bug\log\monkey\copybook\monkey.txt
28. 在系统SystemProperties中有属性persist.sys.touristabled,通过adb 命令可以动态的修改属性,同时也可以用命令启动某个应用,如下所示:
   28.1:在SystemProperties设置属性persist.sys.touristabled的值为able:adb shell setprop persist.sys.touristabled able
  28.2:获取SystemProperties中属性persist.sys.touristabled的值:adb shell getprop persist.sys.touristabled
  28.3:通过以下命令启动应用:adb shell am start -n com.ebensz.tourist/com.ebensz.tourist.GuideFragmentActivity

这篇文章不错:http://blog.csdn.net/hudashi/article/details/7664464

git 提代码时的相关命令,Mark一下的更多相关文章

  1. git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode.

    git 提交代码是会遇到以下问题, git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode. If ...

  2. git创建远程项目并进行代码管理及相关命令

    1.windows下载Git     https://git-scm.com/downloads 然后一路点击安装 2.登录github,点击右上角创建仓库 3.在本地项目根目录下 输入如下命令 ss ...

  3. 架构(四)Git简介,安装以及相关命令SourceTree

    一 Git介绍 1.1 Git是什么? Git是一个分布式版本控制软件: 版本控制:假如开发人员开发了一个a功能,结果项目经理觉得不够需要修改,开发人员又改成了b功能,后来又改成了c功能,但是最终项目 ...

  4. Git操作简单入门及相关命令

    说明:本文内容主要来自文末参考链接内容,此文仅作学习记录.如有转载,请到文末参考链接处. 1 基本概念理解 1.1 Git介绍 Git是分布式版本控制系统. 集中式VS分布式,SVN VS Git. ...

  5. git push代码时的'git did not exit cleanly (exit code 1)'问题解决

    在利用git管理本地发布的galleryLeftOrRight插件项目时,按照git的使用方法:先commit→master,再 push,发现提示错误git did not exit cleanly ...

  6. Git与远程reposiory的相关命令

    问题1:Git如何同步远程repository的分支(branch) 某天,小C同学问我,为啥VV.git仓库里面本来已经删除了branchA这个分支,但是我的mirror中还是有这个分支呢? 分析: ...

  7. [转]git提交代码时遇到代码库有更新以及本地有更新的解决方法

    本文转自:https://blog.csdn.net/myphp2012/article/details/80519156 在多人协作开发时,经常碰到同事把最新修改推送到远程库,你在本地也做了修改,这 ...

  8. git提交代码时出现was rejected by remote错误

    git常见问题 git是大家在公司基本都项目管理工具,有一次在改了一个bug提交远程提交就出现问题了. 解决方案 首先这个是远程提交的时候被项目权限拦截掉了,一般在我们都用配置ssh公钥的方式操作,那 ...

  9. idea使用Git提交代码时忽略指定文件或文件夹

    简述 使用idea编写代码并使用git作为版本控制器的时候,常常不需要提交配置文件以及一些其他不需要提交的文件,可以使用.ignore插件来在上传的时候忽略一些文件或文件夹. 安装 注意:安装完成之后 ...

随机推荐

  1. 一文带你了解.Net信号量

    本文主要讲解.Net基于Semaphore带大家了解信号量 信号量举例 大家去银行去银行取钱,互斥锁管理的时一个柜台是否正在处理业务,而信号量管理的是整个柜台是否正在处理业务,每当有一个柜台处理完成之 ...

  2. AcWing 1127. 香甜的黄油

    农夫John发现了做出全威斯康辛州最甜的黄油的方法:糖. 把糖放在一片牧场上,他知道 N 只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油. 当然,他将付出额外的费用在奶牛上. 农夫John很狡猾, ...

  3. SpringBoot:WebSocket使用Service层的方法

    方法一: 创建工具类 ApplicationContextRegister.java import org.springframework.beans.BeansException; import o ...

  4. MySql:mysql命令行导入导出sql文件

    命令行导入 方法一:未连接数据库时方法 #导入命令示例 mysql -h ip -u userName -p dbName < sqlFilePath (结尾没有分号) -h : 数据库所在的主 ...

  5. css--filter(滤镜) 属性

    前言 前段时间找工作面试官问到一个问题,你如何将一个网页整体置灰?面试遇到这样的问题,一下束手无策,之前没有接触过这样的需求,因此没有回答上来,面试结束我才知道了这是考查对 CSS3 的新属性的了解. ...

  6. gitlab部署及汉化

    目录 Git 简介 部署 1. 配置yum源(推荐) 2. 安装 配置GitLab 1.加载配置 2.修改git默认访问端口 gitlab.rb unicorn.rb gitlab-http.conf ...

  7. [源码解析] 深度学习分布式训练框架 horovod (15) --- 广播 & 通知

    [源码解析] 深度学习分布式训练框架 horovod (15) --- 广播 & 通知 目录 [源码解析] 深度学习分布式训练框架 horovod (15) --- 广播 & 通知 0 ...

  8. Shell编程之条件语句:if、case语句

    Shell编程之条件语句:if.case语句               一.条件测试                1)test命令测试                2)整数值比较         ...

  9. 电脑通过WIFI连接手机ADB

    1.搜索adb wifi 2.安装并开启:根据提示 3.电脑:adb connect 192.168.1.134 a安装ADB TOOLS b安装ADB DRIVER c将ADB TOOLS复制到c: ...

  10. Swift-使用transform 实现重复平移动画

    摘要 要实现一组重复的动画,本质上就是找到动画开始点.结束点.在动画结束的时候,触发开始点,持续这样的动作. 这里面要梳理的逻辑就是1.触发开始点和2.监听动画结束点.这两个逻辑是实现重复动画的基础. ...