在前面的讲解中,已经涉及到了一些 Git 仓库的知识。本节课来给大家详细说明下,可以算是一个补充。本节课会着重从以下两方面进行讲解,我们一起来看!
1. 生成本地 Git 仓库
我们知道,在 Git 上进行修改、提交、删除等操作时,这一切都是基于 Git 仓库来进行的,没有 Git 仓库,所有操作都是无源之水、无本之木。初始化一个 Git 仓库,也是我们安装配置完 Git 环境之后最先要做的事。那么,接下来就给大家介绍下如何取初始化生成一个 Git 仓库。
1.1 将本地的一个不受 Git 版本控制的目录转化成 Git 仓库
比如项目开始初期,你在本机电脑上搭建了一个项目基础框架,准备上传到 Git 与同事一起协作完成后面的内容,这时候第一步要做的肯定就是将本地的代码目录变成一个 Git 仓库,不然 Git 怎么去管理它呢,对吧?接下来就是见证奇迹的时刻。
a. 首先使用命令进入要初始化的目录,我这里使用的是 windows 的 Git Bash 命令行工具。命令如下:
$ cd D:/Git_study
其中,D:/Git_study 是我演示的目录,大家根据自己情况创建一个进行学习就行了。
b. 进入目录之后,只需要一个命令即可进行初始化:
$ git init
补充说明:当执行 git init 的时候肯定有不少同学出现了如下报错:
这是因为你创建的是一个空目录,Git 不允许初始化。一般情况下,我们的目录肯定是有内容的,如果你暂时没什么内容可写但又想要提交,那就在目录下建一个文件后再提交吧,比如我就建了一个叫 readme 的文件,里面内容随便写点就行。
1.2 从远程仓库克隆
a. 首先,要获取到你要克隆的项目地址,然后使用 “git clone” 命令操作,比如:
$ git clone https://github.com/javaDreame/testGit.git
b. 执行完毕后,出现如下提示则说明克隆成功。
$ git clone https://github.com/javaDreame/testGit.git
cloning into 'testGit'...
remote: Enumerating objects: 59, done.
remote: Total 59 (delta 0), reused 0 (delta 0), pack-reused 59
Unpacking objects: 100% (59/59), done.
c. 克隆下来的仓库名字与远程仓库名字一样,可以进入命令执行时所在的目录查看是否已经克隆下来。
xujie@LAPTOP-SNCHOFFN MINGW64 /d
$ cd testGit/
xujie@LAPTOP-SNCHOFFN MINGW64 /d/testGit (master)
$ ls
test1.txt testGit1/
以上,则说明没毛病!
老规矩,下面展示整个流程的操作动图:
$ git clone https://github.com/javaDreame/testGit.git test
其中,test 即为我指定的名字。之后,克隆到你本地的这个项目文件名就是叫 test 的那个。
2. git clone
关于 “git clone” 这个命令操作,我还有一些想补充的。git clone,即克隆。它与别的版本控制系统的 “check out”(用过 SVN 的应该比较熟悉,就是指 “检出”)是有一定区别的,克隆会把服务器上所有数据的完整副本拉取下来,也就是会把每个文件的历史版本统统拉取下来。这样做有一个好处就是,服务器不幸挂掉的情况下,客户端几乎保留了所有的版本记录,使用任何一个客户端都可以恢复回原来的状态。这就是 git 的独特之处。
3. 总结
- 初始化仓库:分为本地目录初始化和从远程仓库拉取的方式进行初始化
- git clone 的理解:保留了相对最完整的版本记录