赞
踩
什么是仓库呢?仓库又名版本库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
Git 使用 git init
命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init
是使用 Git 的第一个命令。
在执行完成 git init
命令后,Git 仓库会生成一个 .git
目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。
git init
该命令执行完后会在当前目录生成一个 .git
目录。
git init <目录名>
初始化后,会在指定目录下会出现一个名为 .git
的目录,所有 Git 需要的数据和资源都存放在这个目录中。
例如:
git init mywarehouse
git add & git commit 用于把文件添加到版本库。
先明确一下,Git只能跟踪文本文件的改动,比如TXT文件,网页等(所有的版本控制系统都是这样的)。而图片、视频、Microsoft的Word格式这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片大小的变化,无法知道具体改动。
言归正传,现在我们编写一个README.txt
文件,内容如下:
这是我的第一个git仓库
一定要放到mywarehouse
目录下(子目录也行),因为这是一个Git仓库。
再在该目录下添加一些其他文件。
第一步,用命令git add
告诉Git,把文件添加到仓库:
$ git add *.py # 将目录下以 .py 结尾的全部文件提交到仓库中
$ git add README.txt # 将目录下 README 文件提交到仓库中
疑难解答:
如果得到错误:
fatal: not a git repository (or any of the parent directories)
,请检查命令是否在Git仓库目录内执行。因为Git命令必须在Git仓库目录内执行(git init
除外),在仓库目录外执行是没有意义的。 如果得到错误
fatal: pathspec 'readme.txt' did not match any files
,请检查该文件是否存在于当前目录下,或者是否写错了文件名。
第二步,用命令git commit
告诉Git,把文件提交到仓库:
$ git commit -m '初始化项目版本' # 生成版本,版本描述信息为:初始化项目版本
温馨提示:
在 Linux 系统中,commit 信息使用单引号
'
,Windows 系统,commit 信息使用双引号"
。 所以在
git bash
中git commit -m '提交说明'
这样是可以的,在 Windows 命令行中就要使用双引号git commit -m "提交说明"
。
为什么Git添加文件需要add
,commit
一共两步呢?因为commit
可以一次提交很多文件,所以你可以多次add
不同的文件,比如:
$ git add file1.py
$ git add file2.py file3.py
$ git commit -m "add 3 files."
添加文件到Git仓库,分两步:
git add <file>
,注意,可反复多次使用,添加多个文件;git commit -m <message>
,完成。message
是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。我们使用 git clone
从现有 Git 仓库中拷贝项目。
克隆仓库的命令格式为:
git clone <warehouse>
如果我们需要克隆到指定的目录,可以使用以下命令格式:
git clone <warehouse> <directory>
参数说明:
github
仓库比如,要克隆 Alist 的 Git 代码仓库 alist,可以用下面的命令:
$ git clone git://github.com/alist-org/alist.git
执行该命令后,会在当前目录下创建一个名为 alist 的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。
如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:
$ git clone git://github.com/alist-org/alist.git myalist
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。