git init
命令用来创建一个新的Git
仓库。它既可以用来完全初始化一个新的空仓库,也可以把一个已经存在的,没有版本控制的仓库转成Git
仓库。执行git init
命令会在指定工程的根目录下创建一个.git
的子文件夹。除了.git
子文件夹,工程的其它文件都不会改变。
使用:
a)git init
把当前目录变成一个Git
仓库。
b)git init <directory>
在指定的目录下创建Git
仓库。执行这个命令将会创建一个叫directory
的新文件夹,在这个文件夹里只有.git
子文件夹。
c)git init --bare <directory>
初始化一个没有工作文件夹的空的Git
仓库。用来共享的Git
仓库应该始终使用--bare
选项来创建。通常情况下,用--bare
选项初始化的仓库以.git
作为后缀。举个例子,使用--bare
选项创建的project
仓库应该叫project.git
。
比较一下git init <directory>
和git init --bare <directory>
:
首先执行git init linux
:
[root@CentOS ~]# git init linux
Initialized empty Git repository in /root/linux/.git/
[root@CentOS ~]# ls -alt linux/
total 8
dr-xr-x---. 5 root root 4096 Jun 2 12:53 ..
drwxr-xr-x. 7 root root 4096 Jun 2 12:42 .git
drwxr-xr-x. 3 root root 17 Jun 2 12:42 .
[root@CentOS ~]# ls -alt linux/.git
total 20
drwxr-xr-x. 7 root root 4096 Jun 2 12:42 .
drwxr-xr-x. 4 root root 28 Jun 2 12:42 objects
-rw-r--r--. 1 root root 92 Jun 2 12:42 config
-rw-r--r--. 1 root root 23 Jun 2 12:42 HEAD
drwxr-xr-x. 2 root root 20 Jun 2 12:42 info
drwxr-xr-x. 2 root root 4096 Jun 2 12:42 hooks
-rw-r--r--. 1 root root 73 Jun 2 12:42 description
drwxr-xr-x. 2 root root 6 Jun 2 12:42 branches
drwxr-xr-x. 3 root root 17 Jun 2 12:42 ..
drwxr-xr-x. 4 root root 29 Jun 2 12:42 refs
接着执行git init --bare bsd
:
[root@CentOS ~]# git init --bare bsd
Initialized empty Git repository in /root/bsd/
[root@CentOS ~]# ls -lt bsd
total 16
drwxr-xr-x. 4 root root 28 Jun 2 13:01 objects
-rw-r--r--. 1 root root 66 Jun 2 13:01 config
drwxr-xr-x. 2 root root 6 Jun 2 13:01 branches
-rw-r--r--. 1 root root 73 Jun 2 13:01 description
-rw-r--r--. 1 root root 23 Jun 2 13:01 HEAD
drwxr-xr-x. 2 root root 4096 Jun 2 13:01 hooks
drwxr-xr-x. 2 root root 20 Jun 2 13:01 info
drwxr-xr-x. 4 root root 29 Jun 2 13:01 refs
可以看到所有的文件信息都直接创建在bsd
目录下,而没有创建在.git
文件夹下。
参考文档:
git init