标签:
什么是版本库呢?版本库又名仓库,英文名 repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被 Git 管理起来,每个文件的修改、删除,Git 都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
mkdir learngit
cd learngit
通过git init
命令把这个目录变成 Git 可以管理的仓库:
git init
创建成功之后会在该文件夹下创建隐藏文件夹.git
。
在 learngit
文件夹下编写文本文件readme.txt
:
Git is a version control system.
Git is free software.
将一个文件放到 Git 仓库需要两步:
(1)git add
? 把文件添加到仓库
git add readme.txt
(2)git commit
? 把文件提交到仓库
git commit -m "wrote a readme file"
-m:message,最好输入有意义的内容。
git -commit 一次可以提交多个文件,前提是已经将文件添加(add)到仓库。
git status
命令。git status
告诉你有文件被修改过,用git diff
可以查看修改内容。我们已经成功地添加并提交了一个readme.txt
文件,现在,是时候继续工作了,于是,我们继续修改readme.txt
文件,改成如下内容:
Git is a distributed version control system.
Git is free software.
(1)运行 git status
查看结果:
git status
git status
命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt
被修改过了,但还没有准备提交的修改。
(2)git diff
:查看具体内容的修改
git diff readme.txt
git diff
顾名思义就是查看difference
,
(3)git add/commit
:提交修改(同提交新文件)
git add readme.txt
git commit -m "add a distributed"
git status
查看仓库的当前状态再次修改 readme.txt 文件,并提交:
Git is a distributed version control system.
Git is free software distributed under the GPL.
现在我们来回顾 readme.txt 文件一共有几个版本被提交到 Git 仓库里了:
(1)使用 git log --pretty=oneline
查看提交信息
56a2a63e0fc6817e79ff9790041bf50f5b09234f add GPL
95787a3e90ec69742f655fd4d6fea79ac361605b add distributed
d3885bdfbc15f86b38b85a437ebaf00180ecad53 wrote a readme file
使用 Git GUI (图形界面),可清晰地查看当前仓库的提交信息
(2)回退到之前的某一版本
首先,Git 必须知道当前版本是哪个版本,在 Git 中,用 HEAD 表示当前版本,也就是最新的提交 56a2a…f5b09234f (注意我的提交ID和你的肯定不一样),上一个版本就是 HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
现在,我们要把当前版本“append GPL”回退到上一个版本“add distributed”,就可以使用git reset命令:
git reset --hard head^
此时如果我们想要回到“append GPL”(也即穿越到未来),也是可以的,只要我们能够找到 append GPL
的commit id
是 56a2a63…
git reset --hard 56a2a63
不必写全。
(3)Git
提供了一个命令 git reflog
用来记录你的每一次命令,以便确定要回到未来的哪个版本。
标签:
原文地址:http://blog.csdn.net/lanchunhui/article/details/51346899