什麼是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成乙個目錄,這個目錄裡面的所有檔案都可以被git管理起來,每個檔案的修改、刪除,git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以「還原」。
所以,建立乙個版本庫非常簡單,首先,選擇乙個合適的地方,建立乙個空目錄:
$ mkdirlearngit
$ cd learngit
$ pwd
/users/michael/learngit
pwd
命令用於顯示當前目錄。在我的mac上,這個倉庫位於/users/michael/learngit
。
如果你使用windows系統,為了避免遇到各種莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文。
第二步,通過git init
命令把這個目錄變成git可以管理的倉庫:
$ git init瞬間git就把倉庫建好了,而且告訴你是乙個空的倉庫(empty git repository),細心的讀者可以發現當前目錄下多了乙個initialized empty git repository
in /users/michael/learngit/.git/
.git
的目錄,這個目錄是git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裡面的檔案,不然改亂了,就把git倉庫給破壞了。
如果你沒有看到.git
目錄,那是因為這個目錄預設是隱藏的,用ls -ah
命令就可以看見。
也不一定必須在空目錄下建立git倉庫,選擇乙個已經有東西的目錄也是可以的。不過,不建議你使用自己正在開發的公司專案來學習git,否則造成的一切後果概不負責。2
不幸的是,microsoft的word格式是二進位制格式,因此,版本控制系統是沒法跟蹤word檔案的改動的,前面我們舉的例子只是為了演示,如果要真正使用版本控制系統,就要以純文字方式編寫檔案。
因為文字是有編碼的,比如中文有常用的gbk編碼,日文有shift_jis編碼,如果沒有歷史遺留問題,強烈建議使用標準的utf-8編碼,所有語言使用同一種編碼,既沒有衝突,又被所有平台所支援。
使用windows的童鞋要特別注意:
言歸正傳,現在我們編寫乙個readme.txt
檔案,內容如下:
git is a version control system.一定要放到git is
free software.
learngit
目錄下(子目錄也行),因為這是乙個git倉庫,放到其他地方git再厲害也找不到這個檔案。
和把大象放到冰箱需要3步相比,把乙個檔案放到git倉庫只需要兩步。
第一步,用命令git add
告訴git,把檔案新增到倉庫:
$ git add readme.txt執行上面的命令,沒有任何顯示,這就對了,unix的哲學是「沒有訊息就是好訊息」,說明新增成功。
第二步,用命令git commit
告訴git,把檔案提交到倉庫:
$ git commit -m "簡單解釋一下wrote a readme file
"[master (root-commit) cb926e7] wrote a readme file
1file changed, 2 insertions(+)
create mode
100644 readme.txt
git commit
命令,-m
後面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄裡方便地找到改動記錄。
為什麼git新增檔案需要add
,commit
一共兩步呢?因為commit
可以一次提交很多檔案,所以你可以多次add
不同的檔案,比如:
$ git add file1.txt現在總結一下今天學的兩點內容:$ git add file2.txt file3.txt
$ git commit -m "
add 3 files.
"
初始化乙個git倉庫,使用git init
命令。
新增檔案到git倉庫,分兩步:
Git學習筆記二 Git的使用
1 建立版本庫 安裝git之後,在想要建立git倉庫的資料夾裡右擊滑鼠,選擇git bash here,會彈出乙個命令視窗,新建乙個資料夾,作為版本庫的名稱,比如repository,當然,你也可以手動新建資料夾後進入該資料夾執行 git init即可。mkdir repository cd rep...
git的基本使用 二 git基本指令和操作
git pull 從倉庫拉取 到本地倉庫 git add 將新增的檔案新增到本地git倉庫中 git add filename 將制定檔案新增到git本地倉庫中 git commit m tag 將要推送的檔案和內容加到推送列表 git push 推送到遠端倉庫 git diff 顯示衝突內容 差異...
Git使用學習 分支的簡單操作
使用 git status 可以檢視當前所在分支,預設建立沒切換過分支都是在master分支上。使用 git branch v 使用 git branch 分支名下面我們建立乙個hot fix分支 這裡我們可以看到,新建立的分支和主分支的內容完全一樣。使用 git checkout 分支名 根據gi...