获取 Git 仓库
什么是 Git 仓库呢,仓库又名版本库,我们可以把他理解为一个文件夹。这个文件夹里的所有东西都需要被 Git 给管理起来,对立面每个文件的修改、编辑、删除都将被 Git 记录,以便于任何时刻追踪历史或者在将来某个时刻可以“还原”。
有两种方式来创建 Git 仓库
- 在现有项目或目录下导入所有文件到 Git 中
- 从一个服务器克隆一个现有的 Git 仓库
我们日常开发中都是用第二种来创建。
在现有目录中初始化仓库
首先需要在一个地方新建一个空目录比如在 D 盘新建了一个 gitTest 目录
在此目录中打开 Git 控制台通过 git init 命令把这个目录变成Git可以管理的仓库
$ git init
Initialized empty Git repository in D:/gitTest/.git/
运行完这个命令后将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件是 Git 来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把 Git 仓库给破坏了。如果没有看到需要设置隐藏文件夹为可见,这样就能看到了。
但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。
克隆现有的仓库
如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想拉取公司或其他地方的项目,这时就要用到 git clone 命令。
$ git clone https://github.com/libgit2/libgit2
这会在当前目录下创建一个名为 “libgit2” 的目录,并在这个目录下初始化一个 .git 文件夹,从远程仓库拉取下所有数据放入 .git 文件夹,然后从中读取最新版本的文件的拷贝。 如果你进入到这个新建的 libgit2 文件夹,你会发现所有的项目文件已经在里面了,准备就绪等待后续的开发和使用。
提交文件到仓库
现在我们需要在对应的仓库目录下新建一个文件,比如 readme.md 定要放到 gitTest(你新建的仓库) 目录下(子目录也行),因为这是一个 Git 仓库,放到其他地方 Git 再厉害也找不到这个文件。
提交文件到仓库需要两步
1.用命令 git add 告诉 Git,把文件添加到仓库
$ git add readme.md
执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。
2.用命令 git commit 告诉 Git,把文件提交到仓库
$ git commit -m "提交 readme"
[master (root-commit) 1f26829] 提交 readme
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 readme.md
解释一下 git commit 命令,-m 后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。以后只要发现 git 命令后面带一个 - 说明是简写模式 -m m 就是 message 的意思,如果发现后面带两个 --xxxx 那就是一定要写完整一个单词。
git commit 命令执行成功后会告诉你,1 file changed:1 个文件被改动(我们新添加的 readme.md 文件);
为什么 Git 添加文件需要 add,commit 一共两步呢?因为 commit 可以一次提交很多文件,所以你可以多次 add 不同的文件比如
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."