【Android 项目构建】Git版本控制实战

Android Studio源码项目实战:从环境配置到代码调试 Android开发中,源码学习是进阶的重要路径。面对一份包含50个项目的Android源码包,很多人卡在环境搭建和项目导入环节。Gradle版本兼容、SDK配置、模拟器调试等问题常常成为拦路虎。本文从源码学习的价值出发,讲解如何通过已有项目建立技术知识地图,重点分析环境准备、Gradle同步、依赖管理、真机与模拟器调试等核心环节,并给出常见报错的排查思路。掌握这些方法,不仅能跑通旧项目,还能基于源码进行二次改造,实现从模仿到自建的跃升。本文以实操经验为基,帮助开发者把源码包转化为高效学习工具,提升Andro 阅读详情

在公司用Git作为版本控制管理工具已经一年了,对Git的各项操作也了然于心了。相比刚开始使用Git时常常被Git各种奇葩问题阻塞住开发进度的我,现在的我确实已经踩过了很多坑,也对自己感兴趣的Git相关原理进行了分析。本来打算就把这篇blog作为Git使用经验的备忘录,可看到新来的同事还是被Git的各种坑折磨得很痛苦的样子时,我意识到还是有必要把自己使用Git的经验分享出来的,这件事还是有价值的!

你能想到的、可能遇到的Git问题,都可能会在如下的文字里~

一、Git小白需要知道的操作:
以下介绍的每一个操作,都是我能想到的最基本,也最常用的Git操作,要想入门使用Git,了解这些就够了!

1、 本地分支:
(1)查看本地分支,git branch;
创建本地分支,git branch name;
删除本地分支 git branch -d;
切换本地分支,git checkout name。
(2)git checkout -b iss53(常用):
新建并切换到该分支,相当于,git branch iss53,git checkout iss53。
(3)合并分支:git checkout master切回主分支,git merge iss53合并分支

2、远程分支:
(1)查看远程分支,git branch -a
(2)查看远程仓库 git remote
(3)查看本地分支对应的远程分支(常用) git branch -vv

3、删除文件(常用)
删除文件跟踪&删除文件系统中的文件:git rm xxx
删除文件跟踪&不删除文件系统的文件:git rm--cached xxx

4、pull时把未提交文件放到暂存区(常用)
git stash放进去
git stash pop

5、不同分支间提交(常用)
git checkout old_branch
git cherry-pick commit-id

6、拉取代码
git pull --rebase

7、放弃本地修改 强制更新
git fetch --all
git reset --hard origin/master

8、git刷新
git fetch --prune

9、查看历史
一行显示 git log --pretty=oneline
显示某一作者提交历史 git log --author=<name>

10、检查配置信息
git config --list

11、添加远程分支(分两步)
    git checkout -b newbranch
    git push origin newbranch


二、git进阶学习:
在实战中难免会有疏忽,要参与项目级开发,以下操作必须要学会!!!

git撤销(重中之重!!最后一道防线!)
1、git add 文件取消

实际操作可用 git reset HEAD <file>

2、commit修改:
(1)修改最近一次commit的描述:
git commit --amend
相关vi命令:(1)插入 i;(2)保存并退出 esc,:wq
(2)修改最近一次commit的文件或少提交了文件:
git add <修改的文件>
git commit --amend
(3)修改历史commit:git reset --soft commit_id

3、commit放弃修改某文件,还原成上次提交的样子(谨慎使用,修改会被抹掉)
git checkout -- <file>

4、取消commit(比如重写commit信息)
git reset --soft HEAD

5、取消commit、add(重新提交代码和commit)
git reset HEAD
git reset --mixed HEAD

实际操作过:git reset HEAD~1

6、取消commit、add、工作区修改(需要完全重置)
git reset --hard HEAD

7、取消pull(精)
git stash
git log 查看commit_id,找到我想回到的version
git reset —hard <commit_id>

8、撤销全部本地修改,与远程库上保持一致
git reset --hard origin/rel/7.6


三、Git原理相关
1、git merge与git rebase区别:
     (1)两者都是用来将两个分支merge到一起
     (2)区别:
两个使用场景是不一样的,merge只是合并另外一个分支的内容,rebase也合并另外一个分支的内容,但是会把本分支的commits顶到最顶端。
 
2、git pull与fetch区别:
git pull相当于git fetch,git merge;git pull会merge,git fetch不merge。

3、git clone与git checkout区别:
clone is for fetching repositories you don't have,
checkout is for switching between branches in a repository you already have.

4、git pull --rebase这个命令做了什么?
a.把你 commit 到本地仓库的内容,取出来放到暂存区(stash)(这时你的工作区是干净的) 
b.然后从远端拉取代码到本地,由于工作区是干净的,所以不会有冲突 
c.从暂存区把你之前提交的内容取出来,跟拉下来的代码合并


四、工作简单记录
1、新建一个本地分支,把另外一个远程分支的代码拉到这个本地分支
(1)我的做法:新建一个本地分支,把那个远程分支代码pull到本地
(2)推荐做法:git checkout -b rel/7.2 origin/rel.7.2
2、我的重命名
(1)status ==st
(2)checkout ==co
(3)commit -m == cm
(4)branch == br
(5)pull -- rebase origin == plr
(6)reset HEAD ==rh
(7)push origin ==psh
3、待解决:
     pull到有问题代码,如何撤销pull?

4、修改公钥
ssh-keygen -t rsa -C zhshan@Ctrip.com szh单振华 -N  -f zhshan.rsa.ctrip
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
个人github上传修改
git push -u origin master
git remote add origingit@github.com:colinNaive/MultiTypeRecyclerView.git
注意:git push -u origin master -f为强制推送


5、pull request到主项目

当我们fork某开源项目到自己的github中并且做了一定修改后,我们可以申请把这些修改pull request到主项目中。


其中,pull request是在网页端发起。点击new pull request 即可发起pull request。



五、最后

以上就是我对Git相关知识的总结,如有任何疑问欢迎留言提问,博主每天都会查看。
安卓记事本应用开发项目 - Notepad Android Studio是官方推荐的Android应用开发环境。自2013年推出以来,它逐步替代了Eclipse成为Android开发的主流IDE。它整合了Gradle构建工具,并提供了丰富的模版、可视化布局编辑器、代码编辑器、以及调试和性能分析工具。在Android项目中,有时候需要根据业务需求编写自定义的Gradle任务。这可以在文件或者单独的文件中完成。例如,创建一个简单的任务来清理旧的构建文件:这个任务使用了Gradle内置的Delete类型,删除指定的目录。 阅读详情

相关推荐

版本控制Svn&Git;整套视频教学

svn与git代码控制的视频教学,录制的视频讲的很详细,也有些高级用法,适合开发人员使用。

Android studio Git使用-设置忽略提交build和idea文件

我们的AS项目里创建完成会自带两个.gitignore文件,一个在根目录,一个在app/.gitignore。如果根目录没有这个文件需要自己创建。里面的内容 *.iml .gradle /local.properties /.idea/workspace.xml /.idea/libraries .DS_Store /build /captures 有其他的也可以继续添加,但是有些人可能会出现不生效的情况. 对于idea文件夹下文件忽略 在项目目录下,git命令输入:git rm -rf --cached

feipengwang的博客 3696

Jaspersoft Studio安装与配置全攻略:从下载到首个报表生成

本文提供Jaspersoft Studio从下载、安装到创建首个报表的完整实战指南。详细介绍了如何获取安装包、配置工作空间,并通过可视化设计器创建报表模板、添加参数与字段,最终实现数据预览与PDF导出。帮助Java开发者快速掌握这一强大的开源报表工具,提升报表开发效率。

weixin_28826521的博客 704

Android Studio中Git的使用--新建Git项目步骤

前言:由于google已经放弃eclipse了,不去学习studio不行啊.近期公司不怎么忙,现在就决定将项目改到studio,其实studio学习不是很难网上也有很多教程,难的是怎样像以前用eclipse那样,几个人使用git协同开发.我也是各种百度,google,可惜国外都用的是github,对于私有的项目要收费,,我们考虑怎样将studio结合国内的开源中国的代码托管git,下面是我们遭遇了

dreamsever的专栏 5072

eLabRadio软件无线电虚实结合仿真开发平台简介

在使用仿真平台时,不要关闭设备或断开设备与PC机之间的网络连接,否则,仿真平台将无法正常工作。注:采用eNodeX设备认证方式,当出现“设备不存在”的报错时,请检查计算机IP是否和硬件设备IP处于同一网段,或者是否是先连接好网线,再开启硬件设备的。①此登录方式下,需要先建立软件与硬件的通信:在登录窗口点击【网络配置】,参照下图输入设备IP,服务器地址无需设置,设置完成后点击确认,此时登录界面无需设置账号密码;,拷贝到电脑上,使用管理员权限运行setup.exe,下一步直到安装完成,桌面会生成快捷方式。

weixin_55349105的博客 6319

2025东方财富笔试考什么?cata能力测评攻略|答题技巧真题分享

4月10日-4月20日 专业笔试(行测+金融知识混合双打) 4月25日-5月10日 面试车轮战(AI面+半结构化+压力面) 5月15日起 Offer发放(谈薪必杀技:对标同花顺/雪球)这里不仅是金融极客的乐园,更是**“年薪30万管培生计划”**的主战场——你将用代码重构K线,用算法预判市场,成为资本市场的“数字先知”。东方财富,中国金融信息服务领域的“隐形冠军”,以**“金融数据+互联网”双擎驱动**,打造了覆盖证券、基金、期货的全生态交易平台。:• “我总坚持自己的方案”(HR:团队毒药!

Dgntsj的博客 3262

Android studio项目忽略某些文件提交Git

Android stuido项目中有些文件是不需要提交到Git管理的。比如local.properties,xxx.iml等文件都是每个开发者独有的一些配置。JDKB版本,SDK位置都各不一样。每个人都提交很明显会有冲突问题,最好的方式就是不加入git管理 1.在项目根目录创建.gitignore文件 该文件用与编写需要过滤的文件 2.编写gitignore文件 常规用法 .gr

Android小码农的博客 1万+

单相PWM整流器四象限运行原理

简述单相PWM整流器四象限运行原理。

m0_75208156的博客 8301

Android初级教程:Android中解析方式之pull解析

在安卓中有很多种解析方式。按照大方向有xml解析和json解析。而,细致的分,xml和json解析各有自己的很多解析方式。今天这一篇主要介绍xml解析中的pull解析。对于xml的解析方式,我之前在javaweb一些知识中有写过dom和dom4j等等解析方式。有兴趣的读者可以去javaweb篇里面找相关的内容。 先自定义一个数据源,假设就是访问服务器返回的xml数据文件名称为weathe...

weixin_30445169的博客 446

风险登记册vs问题日志:项目经理必须掌握的区别与应用

在项目管理的世界里,风险登记册和问题日志就像是项目经理的两个得力助手。我们的目的就是要搞清楚这两个助手各自的特点、区别以及如何在项目中好好使用它们。范围涵盖了项目从启动到结束的整个过程,无论是小项目还是大项目,都能从对这两个工具的正确使用中受益。我们先会用有趣的故事引出风险登记册和问题日志的概念,然后像给小学生讲故事一样解释它们是什么。接着分析它们之间的关系和区别,再用代码示例模拟它们在项目中的应用,之后介绍实际的应用场景、推荐相关工具和资源,探讨未来的发展趋势和挑战。

项目管理的博客 875

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之BswM模块配置详解(上)

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之BswM模块配置详解(上)

weixin_42412049的博客 740

如何撤销git pull

如题如何撤销git pull 声明:本文为作者自身实践,如因此操作导致了其他问题概不负责。场景, 我们在本地branch A上修改了,然后commit and push(假设commit后的id 是A1),但是没有被merge到master branch中。这时候有其他同事提交了patch并且被merge到master branch上。这时我们都需要在再次修改并push前执行git rebase,

russle的专栏 4万+

FPGA DDR3实战(四):DDR地址映射自动化测试(1)—— 测试程序设计与代码逻辑

本文介绍了一种DDR地址映射自动化测试方案,旨在提高板卡调试效率。方案通过AXI4协议实现主从端通信,构建了包含地址控制器和测试数据生成器的模块化架构。测试程序支持突发传输、状态监控和错误检测,可灵活配置测试参数。采用状态机控制流程,先写入递增数据再读取比对,完成功能验证和性能评估。该方案可系统化验证DDR的正确性、稳定性和可靠性,相比传统手动测试显著提升效率。

FPGA_小田老师的博客 1977

Android技术功底不够如何去面试,附面试题答案_不会安卓 如何面试其他人

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。下面是部分资料截图,诚意满满:特别适合有开发经验的Android程序员们学习。资料免费领取方式:点击我的腾讯文档不论遇到什么困难,都不应该成为我们放弃的理由!资料免费领取方式:点击我的腾讯文档。

erhtre的博客 881

【Scratch考级100图】图01-等级考试scratch绘 画正方形

一、案例介绍 小朋友们应该在数学课或者平时生活中有了解过正方形,正方形在我们生活中到处可见,那我们如果通过Scratch软件来绘制一个正方形呢,我们一起来学习一下吧,在舞台正中央绘制一个边长为200的正方形,要求: 1、围绕舞台中心绘制正多边形,均匀分布在四个象限中 2、正方形边长为200个单位,线条粗细、颜色自定 3、利用画笔绘制正方形,不能有多余的线条 二、案例演示 【Scratch案例演示】Scratch图1-画正方形 三、案例分析 当我们点击小绿旗启动程序后,舞台上会出现一个画

青少年编程学习指导 2670

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

下半年准备跳槽大厂,该做哪些准备?,android面试题网站

分布式版本控制系统Git自动化构建系统Gradle4、项目实战启动速度流畅度抖音在APK包大小资源优化的实践优酷响应式布局技术全解析网络优化手机淘宝双十一性能优化项目揭秘高德APP全链路源码依赖分析彻底干掉OOM的实战经验分享微信Android终端内存优化实践。

2401_84141332的博客 1112

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android stduio多项目依赖的git版本控制+jenkins自动构建

我们经常会把数据逻辑和业务逻辑分离开来,甚至一般是分为两个工程,数据支撑逻辑的处理全部单独放在一个工程,一个library工程,另外业务逻辑单独作为一个工程去引用library工程,而这个library工程往往是多个业务工程,多个项目组一起在引用的,我们希望,只有有一个人去修改了该library工程,其他的项目组,只要update一下,也就可以更新了。 对于android的工程,以前用eclip

jian_code的博客 1790

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android 构建流程,Android项目构建

1. Android Studio项目目录(1) 区别Project和ModuleModule(模块):编写android独立模块的业务代码,即android的组件化开发,可复用的组件化思想。Project(工程):一个Project可以包含多个Module。Project和Module关系.png(2) 项目结构说明:项目结构大体上分为编译系统gradle、配置文件和应用模块Module。具体项...

weixin_35840387的博客 631

Android构建&版本控制git

一.Android构建流程 先把.java文件编译成.class文件(字节码文件),然后吧.class文件和我们第三方依赖的.jar文件打包成.dex安卓可执行的文件。然后在打包资源文件,最后把.dex和sef文件合并成为签名的包,然后签名完就是完整的包(apk)。 二.jenkins持续集成构建 git 一些常用的git命令 1.git init 创建git仓库 2.git status ...

WangZeYu_的博客 449

jenkins构建android项目

项目中有用到用jenkins自动构建android项目,这里把一些要注意的点罗列一下。 首先是下载jenkins,这个可以去jenkins官网上下载。官网的地址为:https://jenkins.io 然后是配置环境变量。1.jdk环境变量配置 2.AndroidSDk环境变量配置。配置jenkins SDK变量可以在 系统管理–系统设置–全局属性–Environment variables...

laibowon的专栏 558

Android开发实战:从零构建App项目

本文从技术基础、开发流程、项目管理与维护等多个方面详细阐述了“Android开发实战:从零构建App项目”。通过搭建开发环境、分析需求、编写代码、管理版本、实现持续集成与部署,开发者可以高效地完成Android应用的开发。Android开发是一个复杂且不断发展的领域,掌握核心技术和最佳实践对于开发者来说至关重要。随着移动应用的普及,Android开发将继续成为软件开发领域的重要方向。未来的研究可以进一步探讨如何提高开发效率、优化应用性能,以及应对新的技术挑战。

2501_92487415的博客 445

Android Studio开发(一) 构建项目

本文讲解了Android Studio创建工程的一般过程,使用模拟器运行新建项目;讲解了项目的目录结构。

cesheng3410的博客 7518

Android项目构建-git版本控制

git版本控制面试问题讲解一、git容易混淆的两个概念1.工作区2..gitgnore(不想上传到版本控制库的文件) 二、一些常用git命令1.git init   创建git仓库 2.git status 查看git仓库状态 3.git diff   查看修改了哪些内容 4.git add    把要添加的文件放入暂存区当中 5.git commit 将暂存区的内容提交到代码仓库中 6.git ...

漫步前行 195

Android开发Git版本控制,到底哪些文件不要提交

安卓开发的小伙伴们,想必大家在创建项目的时候,都有为工程的哪些文件需要提交的git的版本控制而犯愁过吧,深怕有些文件提交了影响团队其他成员的更新使用,尤其是把一些临时的编译构建文件给提交了,被Team Leader骂的不要不要的。以下就是不需要经过git版本控制来提交的文件和文件夹,具体代码可以查看工程的.gitignore文件:IntelliJ IDEA(IDE相关的设置) .idea *.i

JerryloveEmily平 8705

APKLab与Git集成:如何将逆向工程项目纳入版本控制

APKLab作为一款强大的Android逆向工程工作台,为开发者提供了在VS Code环境中进行APK分析、修改和重建的完整解决方案。而将逆向工程项目纳入Git版本控制,不仅能有效跟踪代码变更,还能实现团队协作与项目回溯。本文将详细介绍如何利用APKLab的Git集成功能,轻松管理逆向工程流程中的每一次修改。 ## 为什么逆向工程需要版本控制? 在Android逆向工程过程中,APK的解码、修

gitblog_00597的博客 329

Android Studio Git实战:从零掌握版本控制与团队协作

版本控制系统是现代软件开发的核心基础设施,它通过记录代码的每一次变更,为团队协作提供了可靠的历史追溯与并行开发能力。其核心原理在于管理代码库的不同状态快照,并通过分支机制支持多线开发。掌握版本控制不仅能有效防止代码丢失和冲突,更是实现持续集成、自动化部署等现代工程实践的基石。在Android应用开发场景中,Android Studio内置的Git集成工具将复杂的命令行操作可视化,极大地降低了学习门槛。本文聚焦于Android Studio环境下的Git实战,详细解析提交、分支管理、合并与冲突解决等高频操作,

weixin_42537142的博客 252
上一篇: 【Android 编程架构】MVP实战(附demo)
下一篇: 【Android Fragment相关】DialogFragment怎么玩?
Colin_Mindset
博客等级 码龄12年 159粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值