GIT学习笔记(1):创建版本库
GIT学习笔记(1):创建版本库
创建版本库
1.创建合适目录并初始化为仓库
版本库即需要交由Git进行版本控制的目录,其下所有文件的修改、删除,Git都能跟踪还原。
说明:初始化后,当前目录下会多出来一个名为.git的隐藏目录,这个目录是Git用来跟踪管理版本库的,我们切勿修改。
关于GIT版本库
前面说了,GIT会在初始化为仓库的目录下创建一个.git的隐藏目录,它是GIT的版本库。GIT的版本库里存放了很多东西,其中最重要的就是称之为stage或index的暂存区,另一个是GIT为我们创建的第一个分支master,以及指向master的一个指针head。
暂存区怎么理解呢?好比我们去超时买菜,不可能每拿一个菜就去柜台结账,我们需要一个菜篮子,把需要的菜都先暂时保存起来,等到要走的时候最后拿去付钱,暂存区就相当于菜篮子,是Git用来保存一些临时文件的地方。
2.将文件添加并提交到版本库
所有的版本控制系统,只能跟踪文本文件的改动,比如TXT文件、网页文件、程序代码等,GIT可以告诉你每次的改动,比如某行增加了一个内容。二进制文件的无法追踪具体的修改细节的,只能知道发生了修改操作。
编写一个Java类,输出Hello World
编译Test.java,并将Test.java,Test.class添加到版本库中。
说明:
git add:告诉Git,把文件添加到暂存区。
git commit -m "提交说明":告诉Git,把暂存区的所有内容提交到当前分支。
3、修改文件并查看Git是否进行跟踪
我将Test.java文件中的输出改为Hello World!Good Night!让我们看一下Git是否记录了我们的操作!
很神奇,Git记录了被修改的文件,我们也可以查看具体修改的内容
4、提交修改后的内容
这步操作和第二步一样,此处不在赘述。
5、查询提交记录
我们可以用git log命令来打印输出我们的提交记录。
当然,为了更加清晰直观的分析提交记录,我们可以借助其他可视化工具,如GitHub的客户端,可以清晰的显示出每一次的提交的修改内容。
6、版本回退,来一次时光穿梭
现在我发现,修改后的Test.java有一些问题,想要找回修改前的那一版,我们可以使用git reset命令。
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD
表示当前版本,也就是最新的提交50267...
(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。
重新查看Test.java文件,发现我们的原先内容回来了。当然我们也可以指定ID来到达某一个版本。
7、查看历史命令
有时候,我们有一些误操作,但是我们又忘记了我们做过的错,我们就可以使用git reflog命令来查看我们敲过的命令
GIT学习笔记(1):创建版本库的更多相关文章
- Git学习笔记一--创建版本库、添加文件、提交文件等
Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛该怎么定义? 其实,很多人都不care谁写了Git,只在乎它是免费而且好用的!So do I! 下面开始我们的学习: 1.Git安装( ...
- Git学习笔记02-创建版本库
版本库就是一个目录,这个目录里面的所有文件都会被Git管理,每个文件的修改,删除都能追踪.以便在某个时刻追踪历史记录,或者还原 路径切换,查看文件命令和linux差不多,cd 文件路径 ls查看路径 ...
- Git版本控制工具(一)----git的安装及创建版本库
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Git 学习(二)版本库创建
Git 版本库创建 什么是版本库(repository)? 可理解为文件仓库.由Git管理每个文件的新增.修改及删除,但这个仓库可以追溯历史.可还原至任意历史节点. 版本库创建 创建一个版本库非常简单 ...
- Ubuntu下Git的使用之创建版本库
创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...
- Git 的安装和创建版本库 。
Git 的优点就不再多说了 .直接进入正题吧 . 安装Git 首先可以尝试输入 Git 看看有没有反映 . $ git The program 'git' is currently not insta ...
- Git的安装和创建版本库
1.Git是分布式版本控制系统 2.安装Git 下载Git后,按照默认设置即可实现安装,安装完毕后点击git目录下的Git Bash 输入以下命令符: git config --global user ...
- Git学习笔记(2)-创建仓库
一.Git简介 1.Git是什么 Git是分布式版本控制系统 2.Git有什么特点 (1)Git是分布式的SCM,SVN是集中式的 (2)Git每个历史版本存储完整的文件,SVN存储文件差异 (3)G ...
- Git教程-安装与创建版本库
Git是一个分布式版本控制系统,他通过命令行使用的工具,Github是提供Git仓库托管服务的网站 安装参考: https://www.liaoxuefeng.com/wiki/89604348802 ...
- git 学习之什么是版本库
什么是版本库? 我们一般把版本库也叫仓库(repository),其实我们可以简单的把它看成一个目录,只不过目录里面的文件都会由 Git 进行管理,当我们对文件进行修改.删除.Git 都可以对其进行跟 ...
随机推荐
- Effective C++ Item 18 Make interfaces easy to use correctly and hard to use incorrectly
1. A good API will provide easy to use interfaces but also provide hard to miss-use interfaces. Usua ...
- python2.0_s12_day10_rabbitMQ使用介绍
RabbitMQ RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列(M ...
- ionic安装及测试
官方教程: http://ionicframework.com/getting-started/ 官方教程写得比较简单,简单来说就是 1)安装nodejs(安装方法:http://www.cnblog ...
- Qt5的cmake文件位置
D:\APICenter\Qt\Qt5.8.0\5.8\msvc2015\lib\cmake\Qt5\Qt5Config.cmake
- NUC970 U-Boot 使用說明
U-Boot 使用說明U-Boot 是一個主要用於嵌入式系統的開機載入程式, 可以支援多種不同的計算機系統結構, 包括ARM.MIPS.x86與 68K. 這也是一套在GNU通用公共許可證之下發布的自 ...
- cocos2dx游戏--欢欢英雄传说--添加触摸响应
主要的调整就是将HelloWorldScene改成了MainSecne,然后将Player作为了MainScene的私有成员变量来处理.修改了人物图片,使用了网上找到的三国战纪的人物素材代替我之前画的 ...
- js 数组函数
Array.prototype.join Array.prototype.reverse Array.prototype.sort Array.prototype.concat Array.proto ...
- .net Asp AdRotator(广告控件)
1.新建项目名称AdRotator 2.右键项目名称添加一个xml文件命名为AdRotator.xml <?xml version="1.0" encoding=" ...
- ios 添加朦层
@interface RootViewController : UIViewController { UIView *view; } -(void)createBackgroundView { vie ...
- java父类可以强制转化成子类吗?
转自:http://blog.csdn.net/ld422586546/article/details/9707997 Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换 ...