1. 程式人生 > >5.版本庫創建

5.版本庫創建

you use 沒事 world 使用 發現 讀者 change empty

1.什麽是版本庫呢?

什麽是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄裏面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”.
所以,創建一個版本庫非常簡單,首先,選擇一個合適的地方,創建一個空目錄:
$ mkdir test
$ cd test/
$ git init
Initialized empty Git repository in /Users/alex/git_trainning/.git/
瞬間Git就把倉庫建好了,而且告訴你是一個空的倉庫(empty Git repository),細心的讀者可以發現當前目錄下多了一個.git的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裏面的文件,不然改亂了,就把Git倉庫給破壞了.
如果你沒有看到.git目錄,那是因為這個目錄默認是隱藏的,用ls -ah命令就可以看見.

2.把文件添加到版本庫

首先這裏再明確一下,所有的版本控制系統,其實只能跟蹤文本文件的改動,比如TXT文件,網頁,所有的程序代碼等等,Git也不例外.版本控制系統可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”.而圖片、視頻這些二進制文件,雖然也能由版本控制系統管理,但沒法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統不知道,也沒法知道.
不幸的是,Microsoft的Word格式是二進制格式,因此,版本控制系統是沒法跟蹤Word文件的改動的,前面我們舉的例子只是為了演示,如果要真正使用版本控制系統,就要以純文本方式編寫文件.
因為文本是有編碼的,比如中文有常用的GBK編碼,日文有Shift_JIS編碼,如果沒有歷史遺留問題,強烈建議使用標準的UTF-8編碼,所有語言使用同一種編碼,既沒有沖突,又被所有平臺所支持.
言歸正傳,現在我們編寫一個helloWorld.txt文件,內容如下:
$ vi helloWorld.txt
$ cat helloWorld.txt
hello world !   
一定要放到test目錄下(子目錄也行),因為這是一個Git倉庫,放到其他地方Git再厲害也找不到這個文件.
和把大象放到冰箱需要3步相比,把一個文件放到Git倉庫只需要兩步.

第一步 用命令git add告訴Git,把文件添加到倉庫:

$ git add helloWorld.txt

warning: LF will be replaced by CRLF in helloWorld.txt.
The file will have its original line endings in your working directory

第二步 用命令git commit告訴Git,把文件提交到倉庫:

$ git commit -m "first commit"

[dev 44c0b65] first commit
 1 file changed, 1 insertion(+)
 create mode 100644 helloWorld.txt
簡單解釋一下git commit命令,-m後面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄裏方便地找到改動記錄。嫌麻煩不想輸入-m "xxx"行不行?確實有辦法可以這麽幹,但是強烈不建議你這麽幹,因為輸入說明對自己對別人閱讀都很重要.
為什麽Git添加文件需要add,commit一共兩步呢?因為commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

5.版本庫創建