Git历险记(3):创建一个自己的本地仓库(1)


51CTO编者按:本文是译者刘辉对系列文章《Git Community Book》翻译的第三篇,本文用“庖丁解牛”的方法介绍如何把一个项目加入到版本管理中的具体过程。如果你对Git的下载、安装和配置的具体方法还不清楚,可以参考Git历险记(2):Git的安装和配置。以下是本篇正文。

如果我们要把一个项目加入到Git的版本管理中,可以在项目所在的目录用git init命令建立一个空的本地仓库,然后再用git add命令把它们都加入到Git本地仓库的暂存区(stage or index)中,最后再用git commit命令提交到本地仓库里。

创建一个新的项目目录,并生成一些简单的文件内容:

$ mkdir test_proj

$ cd test_proj

$ echo “hello,world” > readme.txt

在项目目录创建新的本地仓库,并把项目里的所有文件全部添加、提交到本地仓库中去:

$ git init #在当前的目录下创建一个新的空的本地仓库

Initialized empty Git repository in /home/user/test_proj/.git/

$ git add . #把前目录下的所有文件全部添加到暂存区

$ git commit -m 'project init' #创建提交

[master (root-commit) b36a785] project init

1 files changed, 1 insertions(+), 0 deletions(-)

create mode 100644 readme.txt

Git目录的结构

git init命令在项目的顶层目录中建了一个名为:“.git”的目录,它的别名是 “Git目录”(Git directory)。这时”Git目录”中虽然有一些文件,但是没有任何提交(commit)在里面,所以我们叫它是空仓库(empty Git repository)。

和 SVN不同,一个Git项目一般只在项目的根目录下建一个“.git”目录,而SVN则会在项目的每一个目录下建一个”.svn”目录;这也我喜欢Git的原因之一:)

Git把所有的历史提交信息全部存储在“Git目录”里,它就是一个Git项目的仓库;你对本地的源代码进行编辑修改后创建的提交也都会先保存在这里面,然后再推送到远端的服务器。当我们我把项目目录和“Git目录”一起拷到其它电脑里,它能马上正常的工作(所有的提交信息全都保存在Git目录里);甚至可以只把“Git目录”拷走也行,但是要再签出(checkout)一次。

Git为了 调试的方便,它可以指定项目的Git目录的位置。有两种办法:一是设置“GIT_DIR”环境变量,二是在命令行里设定“--git-dir--git-dir”参数指定它的位置,大家可以看一下这里(git(1) Manual Page)。


相关内容