创建版本库
什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
1.所以创建一个版本库也非常简单,如下我是F盘 –>根目录下新建一个learngit版本库。
$ cd f: //切换到F盘,要切换到自己的盘就是CD X: X代表自己想要的盘符
$ mkdir learngit //新建一个叫做learngit的文件夹
$ cd learngit //切换到learngit这个文件夹里
$ pwd //显示当前的目录。
/f/learngit //输入pwd之后,电脑给出的
---
为了避免以后出现乱七八糟的问题,请确保目录以及它的父目录没有中文
2.通过git init命令把这个目录变成Git可以管理的仓库:
$ git init //只要输入这一句,下面那句是反馈出来的
Initialized empty Git repository in F:/learngit/.git/
瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository
),这时候你当前learngit
目录下会多了一个.git
的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。如下:
如果你没有看到.git目录,那是因为这个目录默认是隐藏的。
3.把文件添加到版本库中。
PS:首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成 2kb,但是到底改了啥,版本控制也不知道。
不幸的是,Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的,如果要真正使用版本控制系统,就要以纯文本方式编写文件。
因为文本是有编码的,比如中文有常用的GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。
【回到正题上,我是拉回来的提示符】
我在版本库testgit目录下新建一个记事本文件 readme.txt 内容如下:
使用命令git add readme.txt
添加到暂存区里面去。如下:
ps:同样只要输入git commit -m "xxxxx"
,xxxx表示提交的注释,可以英文,也可以用中文。
-m
后面输入的是本次提交的说明,git commit
命令执行成功后会告诉你,1个文件被改动(我们新添加的readme.txt
文件),插入了1行内容(readme.txt
有1行内容)。
为什么Git添加文件需要add
,commit
一共两步呢?因为commit
可以一次提交很多文件,所以你可以多次add不同的文件,比如:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
文件修改后怎么提交
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容:
现在,运行git status
命令看看结果:
git status
命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt
被修改过了,但还没有准备提交的修改(也就是说这个修改还未提交过)。【如果没有修改,用
git status
是这样的】
虽然Git告诉我们readme.txt
被修改了,要是想看具体修改了哪些内容,需要用git diff
这个命令看看:
从图中可以看出,文本删除了之前写的
"hello word!"
(红色的那一行,前面有个-号),然后添加了两行新内容。(绿色带+号的那两行就是新修改的内容)。知道了对
readme.txt
文件做了什么修改后,我们可以放心的提交到仓库了,提交修改和提交文件是一样的两步(第一步是git add
第二步是:git commit
)。