在本文中我将: 1. 使用“普通库”代指用"git init"命令创建的GIT库; 2. 使用“裸库”代指用"git init --bare"命令创建的GIT库; 当你创建一个普通库时,在工作目录下,除了.git目录之外,你还可以看到库中所包含的所有源文件。你拥有了一个可以进行浏览和修改(add, commit, delete等)的本地库。 当你创建一个裸库时,在工作目录下,只有一个.git目录,而没有类似于本地库那样的文件结构可供你直接进行浏览和修改。但是你仍旧可以用git show命令来进行浏览,举个例子(参数为某个commit的SHA1值): ~~~ # git show 921dc435a3acd46e48e3d1e54880da62dac18fe0 ~~~ 一般来说,一个裸库往往被创建用于作为大家一起工作的共享库,每一个人都可以往里面push自己的本地修改。一个惯用的命名方式是在库名后加上.git,举个例子: ~~~ # mkdir example.git # cd example.git # git init --bare . ~~~ 这样你便拥有了一个叫做example的共享库。在你自己的本地机器上,你可以用git remote add命令做初始化check-in: ~~~ // assume there're some initial files you want to push to the bare repo you just created, // which are placed under example directory # cd example # git init # git add * # git commit -m "My initial commit message" # git remote add origin git@example.com:example.git # git push -u origin master ~~~ 项目团队里面的每个人都可以clone这个库,然后完成本地修改之后,往这个库中push自己的代码。 ~~~ # git clone git@example.com:example.git # cd example ~~~