創建帶工作區的版本庫
在開始一個新項目時,首先就要創建並初始化代碼庫。如果是在本機的工作目錄中,那么:
$ git init
也就夠用了。如果想要初始化的版本庫不在當前目錄,需要為 git init 命令指定版本庫所在的目錄:
$ git init hello
執行完命令,在當前目錄或您指定的目錄下會創建一個名為 .git 的目錄,這就是版本庫了。
帶工作區的版本庫主要用於日常工作。其工作模式為:先把代碼提交到本地的版本庫中,然后通過本地庫推送到服務器上的版本庫中。
創建裸版本庫
相對於帶工作區的版本庫,裸版本庫主要存在於服務器上,作為集中式的版本倉庫存在。因為沒有人會在服務器上修改代碼並提交,所以這類版本庫不需要工作區。當然其創建方式也略微不同與帶工作區的版本庫。
$ git init --bare
選項 --bare 用於創建裸版本庫,打開當前目錄您會看到 git 創建了一些目錄和文件。
為了方便查看,一般會把裸版本庫的目錄名稱中加上 .git 后綴:
$ git init –bare hello.git
這樣無論是看起來還是使用起來都清晰了很多。
使用已有庫初始化裸版本庫
由於裸版本庫沒有工作區,所以無法直接把代碼提交到裸版本庫中。通用的做法是先克隆裸版本庫,在本地庫中提交,然后推送到裸版本庫中。
那么,如何用已有的庫去初始化裸版本庫呢?
條條大道通羅馬,我們可以通過不同的方式來實現。
方法 1,從現有庫克隆出來一個裸版本庫:
$ git clone –bare hello hellobare.git
用 git log 命令查看版本庫 hellobare.git,它的歷史記錄和版本庫 hello 是一樣的。
方法 2,把已有庫推送到裸版本庫:
$ git push –all hellobare2.git
用 git log 命令查看 hellobare2.git 庫,它的歷史記錄和版本庫 hello 也是一樣的。