从本节开始,我们就开始讲解Git的核心概念以及用法了。
创建版本库=git init
什么是版本库
版本库又名仓库,英文名repository。你可以把它简单理解成一个目录,Git能够管理目录下的所有文件,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。示例
把文件添加到版本库=git add/ git commit
能添加什么文件?
- 所有的版本控制系统,只能跟踪文本文件的改动。比如TXT文件,网页,所有的程序代码等等,Git也不例外。我们不仅能够知道哪些文件发生了变化,同时也知道每个文件内部哪一行发生的什么变化。(如:增加了什么内容,删除了什么内容)
- 图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化。也就是说,知道文件大小发生了改变,但是却不知道到底哪里发生了变化。注意:Microsoft下的word是二进制编码所以无法使用版本控制系统。
示例
- cat > readme表示将键盘输入内容输出到文件readme中
- git add readme 表示将文件readme添加到暂存区中
- git commit -m “write a readme file” 表示一次性把暂存区的所有修改提交到分支。其中 -m 参数表示添加注释,自定义记录该次改动信息,便于以后查阅。技巧:commit可以一次提交多个文件。可以多次add文件,一次commit。
版本库状态及改动查询=git status/git diff
我们此时有一个文件readme。内容为:
Git is a version control system.
Git is free software.
修改文件为:
Git is a distributed version control system.
Git is free software.执行命令git status查看版本库状态:
上述命令的输出结果告诉我们:readme文件被修改了,但是该修改没有提交。但是这个时候有一个问题,我们知道readme文件被修改了,但是具体是哪些内容被修改了呢?
这个时候就需要命令git diff了。
从上图中我们可以看出,Git is a version control system.这一行被删除,Git is a distributed version control system.这行被添加。这告诉我们,修改命令实际上包含两个命令,先删除,后添加。将修改过的文件添加到暂存区,然后再查看status