您的位置:首页 > 其它

廖雪峰老师git教程笔记(1)

2016-09-25 00:20 483 查看
git的安装我是从网上查的,当然廖大的教程里面也有详细的介绍。安装完git之后,不要忘记配置名字和邮箱,你可以给你机器上所有的仓库进行一致的配置,也可以对某个仓库进行单独配置。我的配置如下:

git config --global user.name "Mcrea"

git config --global user.email "704023655@qq.com"

之后,我们就可以进行下一步了。
首先,我们需要创建一个版本库repository,在这个repository中,git管理着所有的文件的过去和将来。创建的过程很简单,只要在一个提前准备好的空目录下输入git init命令即可。版本库建好之后,我们之后对文件的操作都在这个版本库中进行。不过因为git只能跟踪纯文本文件的改动,所以廖大建议使用Notepad++来编辑和修改文件,为避免字符编码可能带来的麻烦,使用UTF-8编码。

添加和提交

有了版本库之后呢,我们可以编写一个文件,随意在里面写点什么代码。然后使用git add file将文件添加到版本库的暂存区中,当然你可以重复这个命令添加任意个文件。之后呢使用git commit -m "some notes"一次性将暂存区所有的文件提交到当前分支。这里的暂存区和当前分支的意思之后会进行讲解。

git status命令可以用来查看版本库中文件的状态。什么状态呢?一个文件从编辑到提交到当前分支需要经过两步,即git add和git commit。在执行这两步前后,文件会有三个状态:一编辑or修改未添加,二添加未提交和三已提交。使用git status命令查看的就是每个文件在这三个状态的哪一个。特别的,如果文件在状态一中,我们可以通过git diff来查看文件中修改的详情。确保无误后进行添加和提交的操作。

版本回退

类似于我们小时候玩过的存储卡游戏,比如重装机兵(认真脸)。我们通过存储按钮来存储游戏的进度。这样当我们剎羽而归的时候,我们可以主动或者被动的读取某个记忆点的进度。从而可以保证我们仍然拥有一个较高的开局而不是前功尽弃从头开始。git也有类似存储记忆点的功能,它的记忆点叫做快照,也就是commit。当我们误操作之后,我们可以从快照中读取文件从新来过。而不是变得一无所有。

如果很不幸的进行了误操作,别慌。首先使用git log命令来查看提交日志。它会展示出每次提交的commit id(版本号,十六进制)姓名和邮箱、日期和备注。可以在git log命令后加上 --pretty=oneline参数让它只显示版本号和备注。

然后重点来了,该如何回退到心仪的版本呢?首先来了解一个单词HEAD。在这里这个单词代表当前版本,它实际上是一个指针,永远指向当前版本。(后面有一个指向当前分支的指针,也叫HEAD)回退版本的命令是git reset,参数就是版本号,当然也可以用HEAD^ or HEAD~100,表示往上一个版本或者100个版本。假如,只是假如,你回退之后又不想回退了该怎么办呢?只要你能找到未来那个版本的版本号。一样可以用git reset回到未来。说到底,这个命令并没有历史和未来的感觉,它只是将HEAD指针指向了你想要的版本,这样你想要的版本就成了当前的版本。最后说一下git
reflog这个命令,它可以记录你的每一次关乎版本的命令,其中就包括了git commit命令。在其中你可以找到该次git commit命令的commit id。bingo~总结一下,勤commit就不愁误操作了。随时reset。

工作区和暂存区

工作区:按照廖大的意思,我理解是repository中可见的部分。

版本库:同样按照廖大的意思,我的理解是repository中不可见的部分。

显然,工作区存放着文件,供我们编辑、修改等等。而版本库则存放着很多东西,其中包括接下来要讲到的stage暂存区和master分支以及指向master分支的HEAD指针。

还记得之前的git add 和 git commit命令吗?所谓将文件修改添加到仓库,实质就是将文件修改添加至暂存区。而git commit就是将暂存区的文件修改提交到当前分支上去。提交完成后,暂存区清空。此时查看git status,显示working directory clean。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git