Git, ADB命令

学习git和gitbash使用的一些详细操作 学习git和gitbash使用的一些详细操作,学习git和gitbash使用的一些详细操作 立即下载

Git 相关

1 使用克隆命令下载代码时想要下载到指定目录

cd 到对应目录呀

2 提交代码时想要分批提交, 比如我想先提交2个类, 提交之后我再提交3个类

git add -p <file> 目前使用命令只查询到提交单个文件

使用 Android studio 创建一个changelist, 把要提交的代码放到这个里面, 提交这个 changelist(可批量提交)

3 已经有一个提交但是想覆盖掉

git commit --amend  

4 不想提交现在的修改但是此时需要切换到其他分支

步骤:
git stash //暂存当前文件

git checkout otherbranch //切换到其他分支 

git stash pop //在其他分支修改提交之后切换到原来分支执行命令, 回复暂存文件

5 合并分支

git merge <branch> //将此分支<branch>合并到当前所在分支

6 merge 和 rebase

不得不引入一段知乎用户的回答,因为只有这段回答我看懂了:

链接:https://www.zhihu.com/question/36509119/answer/131513261

搞清楚这个问题首先要搞清楚merge和rebase背后的含义。先看merge,官方文档给的说明是:git-merge - Join two or more development histories together顾名思义,当你想要两个分支交汇的时候应该使用merge。根据官方文档给的例子,是master merge topic,如图:

				     A---B---C topic
                    /         \
               D---E---F---G---H master

然而在实践中,在H这个commit上的merge经常会出现merge conflict。为了避免解决冲突的时候引入一些不必要的问题,工程中一般都会规定no conflict merge。比如你在github上发pull request,如果有conflict就会禁止merge。所以才会有题主问的问题:在当前的topic分支,想要引入master分支的F、G commit上的内容以避免merge conflict,方便最终合并到master。这种情况下用merge当然是一个选项。用merge代表了topic分支与master分支交汇,并解决了所有合并冲突。然而merge的缺点是引入了一次不必要的history join。如图:

                     A--B--C-X topic
                    /       / \
               D---E---F---G---H master

其实仔细想一下就会发现,在引入master分支的F、G commit这个问题上,我们并没有要求两个分支必须进行交汇(join),我们只是想避免最终的merge conflict而已。rebase是另一个选项。rebase的含义是改变当前分支branch out的位置。这个时候进行rebase其实意味着,将topic分支branch out的位置从E改为G,如图:

                             A---B---C topic
                            /         
               D---E---F---G master

在这个过程中会解决引入F、G导致的冲突,同时没有多余的history join。但是rebase的缺点是,改变了当前分支branch out的节点。如果这个信息对你很重要的话,那么rebase应该不是你想要的。rebase过程中也会有多次解决同一个地方的冲突的问题,不过可以用squash之类的选项解决。个人并不认为这个是rebase的主要问题。综上,其实选用merge还是rebase取决于你到底是以什么意图来避免merge conflict。实践上个人还是偏爱rebase。一个是因为branch out节点不能改变的情况实在太少。另外就是频繁从master merge导致的冗余的history join会提高所有人的认知成本。

7 merge 和 rebase 遇到冲突 状态为 merging 或者 rebasing

rebase 操作的话,会中断rebase,同时会提示去解决冲突。解决冲突后,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。

8 reset 撤销操作

git reset --hard HEAD // 放弃当前所有修改
git revert <commit> // 重置提交 文件被还原
git reset <commitid> // 撤销提交到commitid 提交的文件恢复到本地 

9 删除现有工程git配置

find . -name ".git" | xargs rm -Rf

ADB 相关

启动和停止应用

adb shell am start PackageName //启动应用
adb shell am force-stop PackageName //停止应用

adb 命令截屏

adb shell /system/bin/screencap -p /sdcard/screenshot.png //截屏存储到 SD 卡
adb pull /sdcard/screenshot.png D:\\screenshot //拉取出来存到电脑

列出所有链接的设备

adb devices 

列出进程列表

adb shell ps

adb shell ps | grep com.yue //过滤进程

列举出所有包含的package内容

adb shell pm list packages [options] <INTENT>
adb shell pm list packages com.lt

安装应用程序

adb install xxx.apk
adb install -r xxx.apk // 覆盖安装(保留缓存和数据)
adb install -s xxx.apk  // 安装apk到sd卡

卸载应用程序

adb uninstall package
adb uninstall -k package // 卸载时保留数据和缓存目录

查看 cpu 和 内存使用情况

adb shell top // 每隔一秒会刷新一次 cpu 和 内存情况
adb shell top -m 3 // 查看占用内存前3的应用
adb shell top -n 3 // 刷新3次内存信息(不指定-n参数的话默认每秒会刷新1次数据
adb shell top -m 3 -n 1 // 查看占用内存前3的应用,刷新1次

查看电池用量情况

adb shell dumpsys battery

模拟按键,这个真牛了

// 模拟输入,其中 %s 代表空格
adb shell input text "hello%sworld"

// 模拟按键,82 代表 KEYCODE_MENU 即菜单键
// 更多KEYCODE可以参考 http://developer.android.com/intl/zh-cn/reference/android/view/KeyEvent.html
adb shell input keyevent 82

// 模拟点击,屏幕上横坐标纵坐标分别为100 120的位置
// 要查看具体坐标值,可以打开开发者选项->指针位置
adb shell input tap 100 120

// 模拟滑动,从位置(0,1000)滑动到(800,600)
adb shell input swipe 0 1000 800 600

// 模拟长按,在位置(100,200)长按500毫秒
adb shell input swipe 100 200 100 200 500

adb 通过ip链接手机

adb connect ip地址 // 有时连不上需要链接usb 执行 adb tcpip 5555 重启端口

日志输出

adb logcat -s tag  // 查看指定 tag 日志
adb logcat -c // 清除log缓存

获取手机系统信息

adb shell cat /proc/cpuinfo     显示cpu信息
adb get-serialno    获取序列号
adb shell  cat /sys/class/net/wlan0/address    获取mac地址
adb shell getprop ro.product.model    获取设备型号
adb shell wm size    查看屏幕分辨率
adb shell wm density    查看屏幕密度

dumpsys 查看信息相关

activity:
adb shell dumpsys activity    显示当前所有activity信息
adb shell dumpsys activity top    查看当前应用的 activity 信息

package:
adb shell dumpsys package [package_name] 查看应用信息

内存:
adb shell dumpsys meminfo [package_name/pid] 查看指定进程名或者是进程 id 的内存信息

数据库:
adb shell dumpsys dbinfo [package_name] 查看指定包名应用的数据库存储信息(包括存储的sql语句)

Android 系统版本

adb shell getprop ro.build.version.release

修改设置

adb shell wm size 480x1024 //表示将分辨率修改为 480px * 1024px
adb shell wm size reset //恢复原分辨率命令

adb shell wm density 160 //表示将屏幕密度修改为 160dpi。
adb shell wm density reset //恢复原屏幕密度命令

adb shell 打开开发者选项界面

adb shell am start -a com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS

删除git配置 重新初始化

find . -name ".git" | xargs rm -Rf

git 遇到问题:

Fetch failed: ssh variant 'simple' does not support setting port   

解决办法:
在git bash中输入命令:

git config --global ssh.variant ssh

Android studio 遇到多项目调试时 点了 disable
解决方案: 此时需要删除 /Users/xxx/Library/Preferences 配置文件 相当于重置 Android studio 配置

这里还有很多好玩的命令:

https://github.com/mzlogin/awesome-adb

关注我的 Google Play 独立开发公众号
通过从零到一在 Google Play 开发出下载量 300万 APP 的经历,我将把很多精彩的故事分享到公众号,扫描下方二维码和我一起开发 APP 赚美元吧!

Foxglove Studio实战:5步搞定自动驾驶数据可视化(附避坑指南) 本文详细介绍了如何使用Foxglove Studio高效搭建自动驾驶数据可视化工作流。通过五个核心步骤:环境准备、数据导入、面板搭建、交互分析与自动化集成,帮助开发者快速掌握这一专为机器人系统设计的开源平台。文章重点解析了其与ROS/ROS 2、MCAP等数据源的无缝对接,以及3D点云、多传感器融合、团队标注等核心功能,并附有实用的性能优化与避坑指南,旨在提升算法调试与团队协作效率。 阅读详情

相关推荐

CANoe基础讲解01:从零开始使用CANoe轻松搭建你的第一个CAN网络

本文是一篇CANoe软件入门实操指南,逐步演示了如何从零创建并运行一个CAN FD仿真工程。内容包括:启动软件、配置硬件通道与网络、加载DBC数据库、使用CAPL编写仿真节点发送CAN报文,最终启动测量并在Trace窗口中查看通信结果。通过七个清晰步骤,帮助初学者快速掌握CANoe基本操作,完成首个可运行的仿真网络搭建

车载网络小D的博客 1571

Linux常用的adb、git、shell命令及shell脚本语法记录

git常用命令: sudo get-apt install git:git安装 git init: 创建git版本库 git add xx:添加到暂存区 git commit -m "说明信息":创建一个版本 git log: 查看版本创建记录,ID号 git reset --hard HEAD^: 回退一个版本 git reset --hard HEAD~X: 回退X个版本 git reset --hard ID:回退本地代码库至ID号之前的版本 git reflog: 查看版本操作记录 git res

QQ135102692的博客 1596

[Ethernet in CANoe]4--CANoe工程中SOME/IP报文的详细介绍(二)

介绍了SOME/IP报文的SD报文(ServiceDiscovery),本片文章开始继续介绍SOME/IP报文。

汽车ECU自动化测试 1111

常用命令整理一(git、adb、vim、cmd、sh)

常用命令整理(git)1、git篇(1)安装git(2)配置(3)使用(4)基础概念 1、git篇 (1)安装git # 查看git版本 git --version (2)配置 # --system # --global:针对当前用户 # --local:针对某个仓库 git config --global user.name "your_username" # --global 选项对系统上所有仓库生效,去掉该参数只对当前仓库有效 git config --global user.email "your

LilyZJ的博客 1858

电子发票二维码背后的秘密:10分钟看懂校验码、加密字符含义与防伪设计

本文深入解析电子发票二维码的结构与防伪设计,揭示校验码和加密字符的生成原理及验证方法。通过实际案例和技术细节,帮助财务人员理解电子发票的安全机制,提升防伪识别能力,确保税务合规。

weixin_29248611的博客 528

新手避坑指南:用Silvaco Atlas搞定GaN HEMT电热仿真的完整流程(附代码解读)

本文详细介绍了使用Silvaco Atlas进行GaN HEMT电热特性仿真的完整流程,特别针对新手常见问题提供避坑指南。从软件环境配置、结构定义、网格划分到物理模型设置,逐步解析关键步骤,并附有代码解读和调试技巧,帮助读者快速掌握GaN器件仿真的核心技术。

weixin_29215815的博客 595

git和adb安装及常用命令

一、git安装 下载地址:https://git-scm.com/downloads,点击【下一步】安装即可 二、git常用命令 克隆工程:git clone 路径,eg:git clonegit@192.168.0.118:liuyang/FUTester.git克隆其他分支(dev)的工程,eg:git clone-b dev git@192.168.0.118:liuyang/...

weixin_30587025的博客 618

AR1020触摸控制器驱动开发:嵌入式I²C/SPI底层集成指南

电容式触摸控制器是现代嵌入式人机交互(HMI)系统的核心感知单元,其工作原理基于寄生电容变化检测与数字信号处理。Microchip AR1020 作为典型单芯片方案,内置硬件滤波、多点跟踪与手势识别引擎,通过I²C或SPI接口输出结构化事件数据,显著降低主控MCU负载。该类器件的技术价值在于平衡精度、功耗与实时性,广泛应用于工业HMI、医疗设备及车载终端等对可靠性要求严苛的场景。本文聚焦AR1020的寄存器映射、中断驱动模型、坐标解析机制及在STM32平台的HAL/LL级工程实现,涵盖硬件时序约束、固件配置

weixin_29323977的博客 600

git和adb的一些命令

git和adb的一些命令

小虎的博客 2043

Windows 11 安装 Miniforge,配置国内源

本文详细介绍了在 Windows 11 系统中安装 Miniforge 的完整流程,包括下载、安装选项设置、配置国内镜像源(如清华大学源)以加速包管理,并启用 mamba 提升依赖解析与安装速度。同时涵盖 conda 与 mamba 的基本使用验证、PowerShell 初始化及环境提示符优化,帮助用户快速搭建高效、开源、免费的 Python 科学计算环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 4500

CPD (Coherent Point Drift) 算法实现点云配准 C++版

作为和icp并列的点集配准算法cpd为什么没有icp火,等我把整个方案跑完才明白。 首先下载cpd https://github.com/gadomski/cpd 包含的fgt https://github.com/gadomski/fgt 下载到win10的解压后 运行cmake来进行编译 这个时候会提醒缺少eigen3 fgt python 这几个都安装排除后 在build文件夹下会生成vs2017的源码,右键全部生成后在 .\cpd-master\build\Debug 下会生成一个cpd.li

uranus1992的博客 3510

处理git bash中使用adb shell时的路径错误问题

这两天把所有编辑器的终端都统一设为git bash了,使用adb时发现个因为路径分割符自动转换导致的问题。 如在git bash下使用如下命令就会报错: $ adb shell ls /sdcard/Android C:/Program: No such file or directory Files/Git/sdcard/Android: No such file or directory 原...

不若乘风来 5280

Qt/C++ 音视频开发 - FFmpeg 安卓版

通过将 FFmpeg 集成到 Qt/C++ 项目中,我们可以实现强大且灵活的音视频处理功能。本文介绍了在安卓平台上使用 FFmpeg 的基本步骤,包括初始化、解码、处理和编码等。实际应用代码示例展示了如何在安卓设备上播放视频。

走向CTO的路上... 1190

常用git和adb命令

本文总结了Git和ADB的常用命令。Git部分包括仓库初始化与克隆、提交修改、分支管理、远程操作和版本回退等核心命令。ADB部分涵盖设备连接、应用管理、文件操作、调试日志等实用命令。这些命令可帮助开发者高效完成版本控制和Android开发调试任务,适合作为日常工作的快速参考指南。

weixin_47056106的博客 621

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

测试常用的git命令及adb安装使用

1.adb无法使用,提示error:unknown host service的解决办法,需要辨别电脑的5037端口被哪个应用程序占用的方法:(使用adb时需要5037端口是空闲的)克隆其他分支(dev)的工程,eg:git clone -b dev git@192.168.0.222:lanlanwang/Testdemo.git。克隆工程:git clone 路径,eg:git clone git@192.168.0.222:lanlanwang/Testdemo.git。

qq_42860913的博客 1207

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【常用的linux、doctor、maven、git、adb、window命令总结】

常用的linux命令,doctor,maven、gradle、adb、window命令

Leoon123的博客 1514

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

常用adb、git命令、maven操作及jenkins操作

logcat信息太多:adb logcat -G 2mlogcat查看崩溃信息adb logcat -b crash删除日志目录:adb shell rm -rf /sdcard/pd/log删除地图:adb shell rm -rf /sdcard/pd/map取日志:adb pull /sdcard/pd/log e:/logs卸载各版本包:adb uninstall com.pdtech.robot.peanutadb uninstall com.pdtech.phoenix查看usb设备列表(如查看

飞剑的博客 581

Android Studio Terminal gradle,adb,git,groovy命令配置的问题

要想在Android Studio中自带的命令行终端Terminal 或者Cmd.exe 中执行 ADB命令,就要在系统属性中环境变量中配置ADB路径;然后打开“计算机”-“右键”-“属性”-“更改设置”-“高级”-“环境变量”,在系统变量中,点击新建,属性名为:“接着打开“计算机”-“右键”-“属性”-“更改设置”-“高级”-“环境变量”,在系统变量中,找到。然后打开“计算机”-“右键”-“属性”-“更改设置”-“高级”-“环境变量”,把这个路径添加到。中,, 记得一定要用 分号(;

2401_84519960的博客 1121

git adb linux常用命令

git 、adb、Linux的常用命令

qq_48192676的博客 774

Git ,Linux,adb常用命令

开发常用命令 挂载 sshfs xiao.sun@10.129.93.185:/home/xiao.sun ~/sshfs-mount/10.128.161.137/ sshfs xiao.sun@10.129.93.249:/home/xiao.sun ~/sshfs-mount/10.129.93.249/ 卸载 fusermount -u ~/luping 登陆 ssh -l xiao.su...

weixin_36573203的博客 642

Git日常常用命令和ADB常用命令

ADB常用命令:例如复制Sdcard下的pull.txt文件到D盘:adb pull sdcard/pull.txt d:\如果需要重命名为rename.txt:adb pull sdcard/pull.txt d:\rename.txt查看手机型号信息adb shell getprop | grep product查看wifi_macadb shell cat /sys/class/net/wl...

weixin_34186931的博客 173

常用Adb和Git的命令

【代码】常用Adb和Git的命令。

海边两个人的浪漫的博客 240

一些GIT与ADB常用的命令

先确定暂存区是否干净(跟踪的文件,为跟踪的不用管) git status 然后切换分支 git checkout -b 本地分支名 服务器上的分支名 8e1fb7495dbe321ebed262b3a9bbabdd4d6cd1fb git add -u(全部暂存区) git add 未跟踪的文件名 git commit -m “[mt8735A_T51]关于指纹selinux权限” ( git ...

zzlzeuszl的博客 253
上一篇: 忙碌的三个月
下一篇: Android FileOutputStream FileInputStream 读写问题记录
CoderYue
博客等级 码龄11年 201粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值