码迷,mamicode.com
首页 > 其他好文 > 详细

Git 基础(五)

时间:2016-05-13 00:21:24      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

什么是版本库呢?版本库又名仓库,英文名 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"
  • (4)最后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 GPLcommit id 是 56a2a63…

    git reset --hard 56a2a63

    不必写全。

  • (3)Git 提供了一个命令 git reflog 用来记录你的每一次命令,以便确定要回到未来的哪个版本。

Git 基础(五)

标签:

原文地址:http://blog.csdn.net/lanchunhui/article/details/51346899

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!