获取和创建项目
为了能用git做一些事情,你必须先拥有一个Git仓库。这是Git保存你正在存储的快照数据的地方。
git init 把一个目录初始化为Git仓库
从一个已存在的文件目录创建一个Git仓库,你只需要在这个目录运行 git init 命令。例如,我们假设我们已经有了一个目录,里面有一些文件,像这样:
$ cd konichiwa
$ ls
README hello.rb
这是一个我们用每一种语言写"Hello World"示例程序的项目。现在我们只有Ruby语言写的示例程序,但这只是个开始。要对这个项目使用Git进行版本控制,我们只需要运行
git init 命令。
$ git init
在/opt/konichiwa/.git/目录下初始化一个空的Git仓库
现在你可以看到在这个项目目录下有一个
.git 的子目录。这就是存储你所有的项目快照的Git仓库。
$ ls -a
. .. .git README hello.rb
git clone https://github.com/pein0119/compiler hehe
祝贺一下,你现在已经有了一个Git仓库的骨架,可以对你的项目进行快照了。
简单的说,你用git init命令把一个已经存在的目录的内容初始化为一个版本仓库,任何时候,你都可以对任何一个本地目录这样做。
git clone 复制一个Git仓库,然后你就可以往里面添加东西。
如果你需要在某个项目上与某人一起合作,或者说,你想得到某个项目的拷贝,以便查看或使用其中的代码,这个时候,你就需要克隆这个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 目录,这里存储着所有的项目数据。
$ ls -a
. .. .git README Rakefile lib
$ cd .git
$ ls
HEAD description info packed-refs
branches hooks logs refs
config index objects
默认情况下,Git会创建一个目录,该目录的名称和你给定的URL中的项目名称相同--你给定的URL中最后一个斜线之后的那部分。如果你想要换成别的名字,只需要在命令的最后加上这个项目名称。
(例如:
$ git clone https://github.com/pein0119/compiler hehe
在该命令中 hehe 是你自己命名的项目名称。
--译者注
)
简单的说,你可以使用 git clone 命令得到一个Git仓库的拷贝,这样你就可以查阅和修改这个项目。
(译者:第一次翻译文章,怕误人子弟,所以仅供参考。)