Android基础入门教程——1.5.1 Git使用教程之本地仓库的基本操作

标签: Android基础入门教程


Git是什么?

一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统
①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样
我们可以选择在合适的时间将本地版本推送到统一的版本管理服务器
②Git每次会提取整个代码仓库的完整镜像,相当于对整个代码仓库都进行了一次备份,这样计时版本服务器除了问题,我们可以直接采用本地仓库恢复!结合本地版本管理功能,远程版本管理服务器出问题了,我们依然能继续写自己的代码,当他恢复的时候我们再提交我们的本地版本!
Git研发初期是为了更好的管理Linux内核,不过现在已经广泛应用于各种项目中!


安装Git

如果你的系统是Linux的话,直接打开shell输入:

sudo apt-get install git

当然,大部分的系统估计都是Windows,这就需要我们到网上下载一个Git For Window了,可到下述网站下载:
http://msysgit.github.io/
点击版本号,不是Download,不知道为什么打不开!

点击后进入页面,下载如下文件即可

或者到笔者的云盘直接下载也可以:
Git-1.9.5-preview20150319.exe
接着傻瓜式的下一步就可以了~
接下来你可以找到Git Gui然后开始玩Git,不过如果以后换到其他平台上,没有图形化界面你就寸步难行了!
So,如果你有兴趣的话,我们来玩命令行,以后换了系统也能正常的玩Git!


玩转Git命令行

当然Git肯定是搭配着GitHub玩才够味的,不过先来学习一些本地的指令先把!
当你安装完Git后我们可以在任意位置右键,点击Git bash打开我们的Git命令行!
你可以可以点击Git Init Here直接在当前目录下创建一个代码仓库,又或者点击Git Gui打开Gui的图形操作页面!


1.创建代码仓库

Step 1:先配置下我们的身份吧,这样在提交代码的时候Git就可以知道是谁提交的,命令如下:

git config --global user.name "coder-pig"
git config --global user.email "779878443@qq.com"

配置完成后,我们可以再次输入,不包括名称,可以看到我们已经配置成功了

Step 2:找个地方创建我们的代码仓库,然后我创建了一个新的项目:TestForGit,来到工程的目录下,右键,打开我们的Git Bash,键入下述指令完成代码仓库的建立!另外这个代码仓库其实是用来保存版本管理所需的一些信息,我们本地提交的代码都会提交到代码仓库中,于是乎我们可以选择还原到某个版本,当然,如果需要的话,我们还可以将保存在代码仓库中的代码推送那个到远程仓库中!比如GitHub!

git init

一个简单的代码,代码仓库就创建完毕了!继续输入:ls - al可以看到下目录下有个.git的文件夹就是他了!

也可以打开工程目录,同样看也看到.git文件夹;如果我们想删除代码仓库只需把这个文件夹删掉即可!


2.提交本地代码

创建完代码仓库,接下来说下如何提交代码,我们是先用add命令把要提交的内容都加进来,然后commit才是真的去执行提交操作!命令例子如下,你可以一次次慢慢添加,当然也可以全部提交,直接git add .即可完成!
我们现在工程目录下创建一个readme.txt的文件试试,随便写点东西,然后依次输入下述指令:

 git add readme.txtgit commit -m "Wrote a readme file"

输入命令试试:

当然如果你可以add多个文件后再一次性commit,不过如果我们改动的文件很多的话,我们可以git add .一次添加全部,但有一些是几百年都不变一次的又或者自动生成的,比如lib,gen,bin文件夹等等,我们可以在代码仓库的根目录下创建一个名为.gitignore的文件,然后编辑里面的内容,把不需提交的文件忽略掉!

接着输入要提交时忽略的文件内容即可!

那么我们git add .的时候,这里的文件就不会add,另外可能你会觉的commit后面写-m “xxx”很麻烦,想偷懒,但还是写上吧!输入的是本次提交的一些声明,比如自己修改了些什么!就好像写代码的时候,你偷懒不写注释,过几天你连自己写的什么鬼都不知道…


3.查看修改内容

好吧,前面我们用git add提交了整个项目到本地仓库,接下来我们改点东西,然后使用git status可以查看
修改的部分,比如,我们删掉MainActivity.java里的菜单的代码以及多余的菜单相关的包!

他就会提示我们哪些文件发生了改变,但是还没有提交,如果我们想看下具体更改了什么,我们可以用到git diff命令,另外,按Q可以退回命令行输入!


4.查看提交记录

当然随着我们项目的深入,Commit的次数也会越来越多,可能你早已忘记每次提交都修改了什么内容,
没事,Git帮你记着呢,使用git log即可查看历史提交信息!键入

git log

回车:

我们取其中一小部分来分析:

commit defd8af52be5183dfceb3e5cf23f78ea47d013b0
Author: coder-pig <779878443@qq.com>
Date:   Fri Jun 19 17:00:36 2015 +0800
MainActivity Delete Menu

依次是:

  • 此次提交对应的版本号
  • 提交人:姓名 邮箱
  • 提交的时间
  • 提交版本修改的内容:就是我们commit -m “xxx”里的xxx

5.撤销未提交的修改

比如我们刚提交了一个版本,然后又乱七八糟地写了一堆东西,突然发现不小心误删了一些东西,然后ctrl + s保存了,这个时候是不是欲哭无泪,不过有Git,只需一个checkout命令即可撤销更改,当然是你还没add的情况,比如我们在MainActivity里随便添加一条语句,然后ctrl + s保存代码!

然后命令行键入:git diff:

嗯,这里可以看到我们改的内容,我们可以回去把这句代码删掉,但是如果改的有上千行你怎么改,
于是乎这个时候我们可以使用

git checkout src/com/jay/example/testforgit/MainActivity.java

然后会神奇的发现,我们新写的代码没了!duang一下就没了,不信你可以自己试试

当然,如果我们已经add了的话,那么checkout是没任何作用的,我们要先取消添加才可以撤回提交,使用下述指令:

git reset HEAD src/com/jay/example/testforgit/MainActivity.java
git checkout src/com/jay/example/testforgit/MainActivity.java

6.版本回退

第五点我们教了大家撤销未提交的修改,但加入提交了,我们想回退到之前的某一个版本怎么办?
第四点中我们可以通过git log查看我们的提交记录,我们需要从这里获取一个版本号,
一般我们只需要前七位字符就够了;另外在Git中,用HEAD代表当前版本,上一个版本就是HEAD^
再上一个版本就是HEAD^^依次类推!我们先Git Log看下版本历史先!

我们回到前一个提交的版本吧,依次键入下述指令:

 git reset --hard HEADgit reset --hard HEAD^git log

这时看下我们的控制台:

可以看到我们已经回退到了前一个版本了,当然你可以直接这样写:

git reset --hard ad2080c

就是这么简单!回退后,你突然后悔了,想回退回新的那个版本,
可是遗憾的是,你键入git log却发现没有了最新的那个版本号,这怎么办呢…
没事,Git中给你提供了这颗“后悔药”,Git记录着你输入的每一条指令呢!键入:

git reflog

你会发现,版本号就在这里:

然后键入:

git reset --hard ad2080c

可以看到我们又回到了最新的那个版本了,就是这么溜!

Android基础入门教程——1.5.1 Git使用教程之本地仓库的基本操作相关推荐

  1. Git自由之章 - 本地仓库的基本操作

    简述 Git 是目前很流行的版本控制工具,很多开发团队在使用.本人也在使用这个工具,发觉相比于传统的SVN,确实好用很多,而且它还有很大的自由属性,这一点深得我的欣赏.这次的分享主要是分享关于Git的 ...

  2. Git之深入解析本地仓库的基本操作·仓库的获取更新和提交历史的查看撤销以及标签别名的使用

    一.获取 Git 仓库 通常有两种获取 Git 项目仓库的方式: 将尚未进行版本控制的本地目录转换为 Git 仓库: 从其它服务器克隆一个已存在的 Git 仓库. 两种方式都会在本地机器上得到一个工作 ...

  3. 最新Android基础入门教程目录(完结版)

    第一章:环境搭建与开发相关(已完结 10/10) https://blog.csdn.net/coder_pig/article/details/50000773 Android基础入门教程--1.1 ...

  4. 2015年最新Android基础入门教程目录(完结版)

    2015年最新Android基础入门教程目录(完结版) 标签(空格分隔): Android基础入门教程 前言: 关于<2015年最新Android基础入门教程目录>终于在今天落下了帷幕,全 ...

  5. android 编辑9图片,Android基础入门教程——1.6 .9(九妹)图片怎么玩

    Android基础入门教程--1.6 .9(九妹)图片怎么玩 Android基础入门教程 1.本节引言: 可能有的一些疑问: 1.什么是.9图片? 答:图片后缀名前有.9的图片,如pic1.9.png ...

  6. android 菜鸟面单打印_1.0 Android基础入门教程

    本教程于2015年7月开始撰写,耗时半年,总共148节,涵盖了Android基础入门的大部分知识,由于当时能力局限,虽已竭尽全力,但对于一些问题的分析难免有所纰漏,敬请读者海涵!IT技术更新换代很快, ...

  7. android设置webview缓存目录,Android基础入门教程——7.5.5 WebView缓存问题

    Android基础入门教程--7.5.5 WebView缓存问题 Android基础入门教程 本节引言:现在很多门户类信息网站,比如虎嗅,ifanr,钛媒体等等的APP,简单点说是信息阅读类的APP, ...

  8. Android基础入门教程——4.3.1 BroadcastReceiver牛刀小试

    Android基础入门教程--4.3.1 BroadcastReceiver牛刀小试 标签(空格分隔): Android基础入门教程 本节引言 本节我们将来学习Android四大组件中的第三个:Bro ...

  9. Android基础入门教程——10.1 TelephonyManager(电话管理器)

    Android基础入门教程--10.1 TelephonyManager(电话管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本章节是Android基础入门教程的最后一章,主要讲 ...

最新文章

  1. 【NLP】 NLP专栏栏主自述,说不出口的话就交给AI说吧
  2. excel获取mysql数据库数据类型_js如何读取excel数据库数据库数据类型
  3. 口碑网发布2010吃住玩消费风向指数
  4. mysql查看binlog日志内容
  5. SQL注入:2、读写文件和下载数据库
  6. [建议]添加模板功能
  7. yii beforeaction 如何赋值全局变量_前端如何进行用户权限管理
  8. gogoclient java_链路跟踪-GRPC请求 - GoFrame官网 - 类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架...
  9. DNG格式转换器:​Adobe DNG Converter for Mac支持m1中文版
  10. 路由模块router实现step1
  11. java fastjson解析json_fastjson解析json数据 Java类
  12. stm32跑马灯程序
  13. python预测模型类型,多变量时间序列的预测和建模指南(附Python代码)
  14. Android NDK 下载地址
  15. IT开发工程师经典面试
  16. 基于Apache doris的元数据管理系统
  17. java 文件监控_Java 文件监控,实时监控文件加载
  18. inb inw inl outb outw outl:端口操作
  19. (已更新)【增强版短视频去水印源码】去水印微信小程序+去水印软件源码
  20. dede图片上传php,织梦cms增加栏目(栏目图片)上传缩略图功能

热门文章

  1. 网页计算机(h5+js+css)
  2. 【Phalcon】升级版本
  3. 2022汽车驾驶员(初级)考试题库及模拟考试
  4. 矩阵开关多路耦合器性能参数解读
  5. encountered an improper argument
  6. 苹果新手Mac OS X 使用笔记--------系统自带截屏功能快捷键巧记图
  7. ASP.NET文件的上传和下载
  8. android Palette使用详解
  9. lastIndexOf() 方法
  10. Spark Friendship