在开发我的安卓版程序员计算器的时候,还有在之前我写其他各种应用各种小程序的时候,我已经意识到软件或者小程序在开发过程中代码会不断的发展和变化。
通常很多情况我们开发是属于一种试一试的状态。比如我们要为程序增加一个新的功能,但是我们并不能保证我们的功能添加一次编写正确,或者对于某些功能并不是非常熟悉,运用起来有一定难度,那么就会处于一种试一试,代码这样写行不行,而对于稍大一点的软件功能更新添加,通常改动会非常多,非常大。最后改动的结果却不尽如人意,没有正确运行,甚至导致软件程序完全无法运行。那么这时候我们期望回到我们改动之前的状态,这是我通常的做法是不停的Ctrl+Z,直至退回到我们改动之前的状态。但是这是得不到保证的,因为通常Ctrl+Z会有次数的限制,最后导致无法回到之前的版本。安全起见我会在做这样大的改动之前对整个项目软件做个备份。
但这无疑是最笨的方式。但是却有用。缺点也是显而易见的,当改动达到一定程度,一定次数后,你的备份将出奇的多。以至于最后你都无法分辨版本信息。
这是我之前的做法:
以至于我的 程序员计算器 整个项目都在使用这种笨拙的方式控制版本。
在这之前,我有意识到有Git这样的版本控制系统存在,但是只是初步接触,并没有深入使用。
直到我在开发 程序员计算器 的过程,在看郭霖老师的《Android第一行代码》这本书时,书中在部分章节简单介绍了Git的一些基本用法。
我认为这是一个契机,我可试着使用Git来管理我的 程序员计算器 的代码。第一,我觉得我确实该结束那种古老而笨拙的复制文件式的版本控制,第二,我觉得在一个实际项目中真刀真枪的使用Git,比单独抽出时间学习Git来的更加务实,这也是我学习各种其他技术的方式,比如在某一学期,我在同时学期JAVA和Linux,我会在Windows虚拟机中安装Linux,在Linux中安装JAVA开发环境,只在Linux终端下进行JAVA练习项目的编写。在学习JAVA的同时,对于Linux终端中的各种命令有实际应用上的练习。
想到这里,我就开始做了,不得不说在给Windows撞上Git之后,Git上手还是非常快的,在经过一天半的学习实践之后,我也是深深的领略了Git的易用和强大。
此时,Android Studio已经集成了非常成熟易用的Git插件,在半天的使用中,我的项目版本控制已经这样了:
Git忠实地记录了我提交的每一次变化,我可以看到每一次提交我做的所有改动,
我的每一次改动都有如上图的对比,我删了那块,加了那块,改了那块。
当然第一天接触还有应用带Git更高级的功能,比如分支,克隆等等。但是,我相信在我以后的开发过程中我会对Git更加熟悉。
Git是一个程序员必然要接触的功能,所以尽早接触还有大有好处的。
Git教程 这是一个由浅入深,简单易懂的Git教程。
最后做个广告,我开发的安卓应用 程序员计算器  已经上架了各大应用商店,欢迎大家支持下载,豌豆荚下载地址:程序员计算器。
作为一个学生,开发应用的过程也是学习的过程,我也会定期更博与大家分享我的开发历程,开发心得。这篇就作为第一篇,以后还会有哦~

Android 程序员计算器 开发记录-Git版本控制初步接触相关推荐

  1. android java 指针异常处理,Android程序员日常开发中异常总结

    CaptainAndroid.png Java异常 平时开发中遇到的java异常很多,因为引起原因一目了然,当然也有不好解决的,比如一个简单的空指针异常你可能始终无法找到其为空的原因,甚至使用前还做了 ...

  2. Android程序员重头学Synchronized

    面试官:能说说 Synchronized 吗? 答:Synchronized 是Java的一个关键字,使用于多线程并发环境下,可以用来修饰实例对象和类对象,确保在同一时刻只有一个线程可以访问被Sync ...

  3. 躺不平又卷不动,30岁Android程序员当如何?

    在程序员这个行业,几乎所有30而立的中年人都有这样的困惑,躺也躺不平,卷又卷不停,真想躺但是一家老小的压力背在身上不敢躺,也想跟年轻小伙子们卷,但是心有余而力不足,自主学习能力下降,加班身体开始吃不消 ...

  4. 是程序员都可能用到版本控制,如何使用它?如何在Vim中使用Git?

    版本控制是本章的重要内容之一.虽然本书选择的版本控制系统是Git,但是本章的知识也适用于其他版本控制系统.本章只提供了一节内容简略地介绍版本控制,如果读者想要更深入地了解,还需要有针对性地阅读相关材料 ...

  5. Android程序员必备的六大顶级开发工具,快加入你的清单!

    工欲善其事必先利其器!在现代IT中,每个Android程序员都需要最好的工具来提高他们的技能和效率.在Android应用程序开发这个残酷的竞争行业中,只有优秀的程序员才能生存下去.你需要向客户展示你拥 ...

  6. 【思考一】Android程序员想做手机游戏开发

    之前觉得手游开发很有意思,很炫酷,本来以为Android程序员很容易就可以转行来做Android手游开发,后来一段时间苦苦在找资料学习,但是发现,一个纯粹的Android程序员只会用java语言,可能 ...

  7. android开发培训!作为一个Android程序员你还不会JetPack?安卓系列学习进阶视频

    开头 让我们一起来看看,字节跳动的第三面,面试官都问了什么?(第一二面的题目及答案已整理,需要的可以在文末领取) 从七月中旬开始,我前前后后差不多一共投递了八十份简历,到目前为止,我参加面试的面试有十 ...

  8. 程序员:必备技能 Git

    程序员:必备技能 Git 文章目录 程序员:必备技能 Git 每博一文案 1. Git 的概述 1.1 版本控制 1.2 SVN 1.3 Git 1.4 Git 和代码托管中心 2. Git的安装下载 ...

  9. 程序员计算器_GitHub 日收 7000 星,Windows 计算器项目开源即爆红!

    说起此番微软开源 Windows 计算器,有道是"春风得意马蹄疾,一日'摘星' 7000+"-- 微软又来给自己拥抱开源的决心送"证明素材"了! 昨日,微软官宣 ...

  10. 2020倒计时,大厂核心送给每一个脚踏实地努力着的Android程序员,逆风前行

    Android前景的压力: 面试的压力: 寒冬的压力: <Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义>开源 年龄的压力: 等等- 其实每个人都有自己的 ...

最新文章

  1. spring中间scope详细解释
  2. Spring框架学习day_01: 框架配置方式/ 管理对象的作用域/ 生命周期/ 组件扫描/ 单例模式:“懒汉式“,“饿汉式“
  3. UVa11968 - In The Airport
  4. 如何使用XML作为小型数据库
  5. window中搭建jenkins_Windows环境中的jenkins构建时报错
  6. VMware vsphere client报错问题
  7. jieba 词典 词频_在Hanlp词典和jieba词典中手动添加未登录词
  8. PaperNotes(17)-图卷积神经网络GCN-笔记
  9. Elasticsearch 性能监控2(五种常见问题的解决办法)
  10. 最短路dijkstra算法详解_图论系列开始填坑--Dijkstra,单源最短路
  11. oracle样例数据库,创建和准备Oracle样例数据库
  12. asp.net—单例模式
  13. Java编码规范总结
  14. Redis学习(三) - Redis客户端对比及配置(SpringBoot)
  15. “高精尖领域”的3D打印是这么玩 …
  16. mysql条件删除表中某些行数据_根据MySQL中的条件仅删除表中的某些行
  17. H5总结(慢慢自我总结)
  18. access h3c交换机光口_H3C交换机常用配置命令转载
  19. STM32歌唱《孤勇者》(标准库)
  20. Hbase Shell命令总结

热门文章

  1. Java加密:一、Base64算法
  2. 统计用产品分类目录8位代码类别_沪市主板605代码“1号选手”来了
  3. har文件分析http_如何使用HAR文件分析一段时间内的性能
  4. Unity Shader-深度相关知识总结与效果实现(LinearDepth,Reverse Z,世界坐标重建,软粒子,高度雾,运动模糊,扫描线效果)
  5. 关于FlyMcu和XCOM软件下载程序的使用(关于STM32F4实现串口通信后续)
  6. signature=0142b13a38da3ce7be8fce0d56b678af,授权系统
  7. music的matlab程序,MUSIC算法matlab程序
  8. OpenFOAM工具详解 - renumberMesh
  9. 三菱plc编程软件gx+developer安装教程
  10. ftp服务器向所有主机发送文件,文件传输FTP