Git 学习(四)操作修改和版本穿梭 之前的章节,已介绍了本地Git库创建.暂存区增.删.改,以及提交版本库:可回顾下命令操作: git add 和 git commit. 光有之前章节的操作,Git 显然不能满足版本控制的需求.所谓的版本控制,可理解为文件夹的时间机,即从创建该文件夹伊始,所有文件提交操作都将被记录版本库,且可以随意穿梭版本(回退至昨日的版本,或甚至N年前). 本文就此具体说明Git是如何管理修改.撤销修改以及在各个版本间穿梭的. 管理修改 为什么Git比其他版本控制系统设计得…
与一般的版本管理不同的是,git在提交之前要将更改通过git add 添加到暂存区才能提交(git commit).即使是已经交给了git来管理的文件也是如此.这里继续学习git的暂存区. 通过git checkout撤销工作区更改 在版本库.git目录下有一个index文件. 首先执行git checkout命令,撤销工作区中welcome.txt文件尚未提交的修改. 原来可以通过这种方法来撤销修改,妈呀,我还是菜啊.之前使用IDEA的时候只知道用revert. git status和git…
一.背景 今天有同事在GitLab上查看时间的时候,发现GitLab上显示的时间和提交的时间不一致. 本地时间现在为:2017-11-28 11:43 查看本地代码提交的时间为:2017-11-28 11:23 本地时间现在为:2017-11-28 11:43,查看本地代码提交的时间为:2017-11-28 10:23,确实是一个小时之前,但是在GitLab平台上显示的世界为2017-11-28 02:23. 正好相差八个小时,因此我怀疑是GitLab服务器的时区我没有进行设置导致的.下面我就将…
自然,你是不会犯错的.不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行: $ cat readme.txt Git is a distributed version control system. Git is free software distributed under the GPL. Git has a mutable index called stage. Git tracks changes of files. My stupid boss still…
一.管理修改 现在,假定你已经完全掌握了暂存区的概念.下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git管理的是修改,而不是文件呢?我们还是做实验.第一步,对readme.txt做一个修改,比如加一行内容: $ cat readme.txt Git…
一.创建版本库 版本库,又名仓库(Repository),可以简单理解为一个目录,这个目录里的所有文件可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者将来某个时刻可以还原. 1.创建一个空目录(目录名中最好不要包含中文) pwd命令用于显示当前目录 2.通过  git init  命令把这个目录变成Git可以管理的仓库 此时,目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的 ls -ah 命令可以看到隐藏的.git目录 3.把文件添加到…
本文主要记录了版本的回退,以及工作区,暂存区概念的理解. //开始之前,先回顾上次的内容,修改文件如下,并提交到版本库. Git is a distributed version control system. Git is free software distributed under the GPL. 1.查看版本库的信息 ubuntu@myubuntu:~/joe/learngit$ git log //可以看到,下面有3个版本 commit 71038bf6cbd05ef559549a1…
一.git版本管理的优势 都说git比svn强大,强大在哪呢? 首先,从部署上说:svn.cvs都是集中式的,一台服务器上部署服务,所有客户端编写的代码都要提交到该服务器上.git是分布式的,所有人都可以从同一个版本库上克隆相同的版本库到自己的机子上. 这有什么好处呢? 1.使用svn和cvs,提交和check代码,你必须和服务器连上网,否则肯定不能用.git本地就是版本库,所以,你不链接其他机子也能提交到版本库中. 2.每个人都有一个版本库,不担心服务器会挂掉. 3.也可以实现一台机子进行代码…
现在,假定你已经完全掌握了暂存区的概念.下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git管理的是修改,而不是文件呢?我们还是做实验.第一步,对readme.txt做一个修改,比如加一行内容: $ cat readme.txt Git is a d…
git log操作 log命令的作用:用于查看git的提交历史: git log命令显示的信息的具体含义: commit SHA-1 校验和  commit id Author 作者跟邮箱概要信息 Date 提交时间 git log操作 表示查看最近几次的提交 git log -数字 显示最近两次提交的不同点 git log -p -2 查看具体某个作者的提交 git log --author 输出简要的信息 git log --oneline 以一个简单的线串联起整个提交历史 git log…