你得先有一个Git
仓库,才能用它进行操作。仓库是Git
存放你要保存的快照的数据的地方。
拥有一个Git
仓库的途径有两种。在已有的目录中,初始化一个新的,其一。 比如一个新的项目,或者一个已存在的项目,但该项目尚未有版本控制。如果你想要复制一份别人的项目, 或者与别人合作某个项目,也可以从一个公开的Git
仓库克隆,其二。本章将对两者都做介绍。
git init 将一个目录初始化为 Git 仓库
在目录中执行git init
,就可以创建一个 Git 仓库了。比如,我们恰好有个目录,里头有些许文件,如下:
$ cd konichiwa
$ ls
README hello.rb
在这个项目里头,我们会用各种编程语言写 "Hello World" 实例。 到目前为止,我们只有Ruby
的,不过,这才刚上路嘛。为了开始用 Git 对这个项目作版本控制,我们执行一下git init
。
$ git init
Initialized empty Git repository in /opt/konichiwa/.git/
# 在 /opt/konichiwa/.git 目录初始化空 Git 仓库完毕。
现在你可以看到在你的项目目录中有个.git
的子目录。 这就是你的Git
仓库了,所有有关你的此项目的快照数据都存放在这里。
$ ls -a
. .. .git README hello.rb
恭喜,现在你就有了一个Git
仓库的架子,可以开始快照你的项目了。
简而言之,用git init
来在目录中创建新的Git
仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。
git clone复制一个Git
仓库,以上下其手
如果你需要与他人合作一个项目,或者想要复制一个项目,看看代码,你就可以克隆那个项目。 执行git clone [url],[url]
为你想要复制的项目,就可以了。
$ git clone git://github.com/schacon/simplegit.git
Initialized empty Git repository in /private/tmp/simplegit/.git/
remote: Counting objects: 100, done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 100 (delta 35), reused 0 (delta 0)
Receiving objects: 100% (100/100), 9.51 KiB, done.
Resolving deltas: 100% (35/35), done.
$ cd simplegit/
$ ls
README Rakefile lib
上述操作将复制该项目的全部记录,让你本地拥有这些。并且该操作将拷贝该项目的主分支, 使你能够查看代码,或编辑、修改。进到该目录中,你会看到.git
子目录。 所有的项目数据都存在那里。