最先Git是在Linux上開發的,很長一段時間內,Git也只能在Linux和Unix系統上跑。不過,慢慢地有人把它移植到了Windows上。如今,Git能夠在Linux、Unix、Mac和Windows這幾大平臺上正常運行了。 git
若是在Linux下沒有git github
# yum install -y git 分佈式
若是是其餘Linux版本,能夠直接經過源碼安裝。先從Git官網下載源碼,而後解壓,依次輸入:./config,make,sudo make install這幾個命令安裝就行了。 工具
Windows下要使用不少Linux/Unix的工具時,須要Cygwin這樣的模擬環境,Git也同樣。Cygwin的安裝和配置都比較複雜,就不建議你折騰了。不過,有高人已經把模擬環境和Git都打包好了,名叫msysgit(提供一個模擬Linux的git環境),只須要下載一個單獨的exe安裝程序,其餘什麼也不用裝,絕對好用。 學習
msysgit是Windows版的Git,從http://msysgit.github.io/下載,而後按默認選項安裝便可。(https://github.com/msysgit/msysgit) 編碼
安裝完成後,在開始菜單裏找到"Git"->"Git Bash",蹦出一個相似命令行窗口的東西,就說明Git安裝成功! spa
安裝完成後,還須要最後一步設置,在命令行輸入: 命令行
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
由於Git是分佈式版本控制系統,因此,每一個機器都必須自報家門:你的名字和Email地址。你也許會擔憂,若是有人故意冒充別人怎麼辦?這個沒必要擔憂,首先咱們相信你們都是善良無知的羣衆,其次,真的有冒充的也是有辦法可查的。 3d
注意git config命令的--global參數,用了這個參數,表示你這臺機器上全部的Git倉庫都會使用這個配置,固然也能夠對某個倉庫指定不一樣的用戶名和Email地址。 版本控制
什麼是版本庫呢?版本庫又名倉庫,英文名repository,你能夠簡單理解成一個目錄,這個目錄裏面的全部文件均可以被Git管理起來,每一個文件的修改、刪除,Git都能跟蹤,以便任什麼時候刻均可以追蹤歷史,或者在未來某個時刻能夠"還原"。
因此,建立一個版本庫很是簡單,首先,選擇一個合適的地方,建立一個空目錄:
$ mkdir learngit$ cd learngit
$ pwd /Users/michael/learngit
pwd命令用於顯示當前目錄。在個人Mac上,這個倉庫位於/Users/michael/learngit。
若是你使用Windows系統,爲了不遇到各類莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文。
第二步,經過git init命令把這個目錄變成Git能夠管理的倉庫:
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
瞬間Git就把倉庫建好了,並且告訴你是一個空的倉庫(empty Git repository),細心的讀者能夠發現當前目錄下多了一個.git的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裏面的文件,否則改亂了,就把Git倉庫給破壞了。
若是你沒有看到.git目錄,那是由於這個目錄默認是隱藏的,用ls -ah命令就能夠看見。
也不必定必須在空目錄下建立Git倉庫,選擇一個已經有東西的目錄也是能夠的。不過,不建議你使用本身正在開發的公司項目來學習Git,不然形成的一切後果概不負責。
首先這裏再明確一下,全部的版本控制系統,其實只能跟蹤文本文件的改動,好比TXT文件,網頁,全部的程序代碼等等,Git也不例外。版本控制系統能夠告訴你每次的改動,好比在第5行加了一個單詞"Linux",在第8行刪了一個單詞"Windows"。而圖片、視頻這些二進制文件,雖然也能由版本控制系統管理,但無法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是隻知道圖片從100KB改爲了120KB,但到底改了啥,版本控制系統不知道,也無法知道。
不幸的是,Microsoft的Word格式是二進制格式,所以,版本控制系統是無法跟蹤Word文件的改動的,前面咱們舉的例子只是爲了演示,若是要真正使用版本控制系統,就要以純文本方式編寫文件。
由於文本是有編碼的,好比中文有經常使用的GBK編碼,日文有Shift_JIS編碼,若是沒有歷史遺留問題,強烈建議使用標準的UTF-8編碼,全部語言使用同一種編碼,既沒有衝突,又被全部平臺所支持。
使用Windows的童鞋要特別注意:
千萬不要使用Windows自帶的記事本編輯任何文本文件。緣由是Microsoft開發記事本的團隊使用了一個很是弱智的行爲來保存UTF-8編碼的文件,他們自做聰明地在每一個文件開頭添加了0xefbbbf(十六進制)的字符,你會遇到不少難以想象的問題,好比,網頁第一行可能會顯示一個"?",明明正確的程序一編譯就報語法錯誤,等等,都是由記事本的弱智行爲帶來的。建議你下載Notepad++代替記事本,不但功能強大,並且免費!記得把Notepad++的默認編碼設置爲UTF-8 without BOM便可:
言歸正傳,如今咱們編寫一個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 1 file changed, 2 insertions(+) create mode 100644 readme.txt
閱讀: 316369
什麼是版本庫呢?版本庫又名倉庫,英文名repository,你能夠簡單理解成一個目錄,這個目錄裏面的全部文件均可以被Git管理起來,每一個文件的修改、刪除,Git都能跟蹤,以便任什麼時候刻均可以追蹤歷史,或者在未來某個時刻能夠"還原"。
因此,建立一個版本庫很是簡單,首先,選擇一個合適的地方,建立一個空目錄:
$ mkdir learngit$ cd learngit
$ pwd /Users/michael/learngit
pwd命令用於顯示當前目錄。在個人Mac上,這個倉庫位於/Users/michael/learngit。
若是你使用Windows系統,爲了不遇到各類莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文。
第二步,經過git init命令把這個目錄變成Git能夠管理的倉庫:
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
瞬間Git就把倉庫建好了,並且告訴你是一個空的倉庫(empty Git repository),細心的讀者能夠發現當前目錄下多了一個.git的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裏面的文件,否則改亂了,就把Git倉庫給破壞了。
若是你沒有看到.git目錄,那是由於這個目錄默認是隱藏的,用ls -ah命令就能夠看見。
也不必定必須在空目錄下建立Git倉庫,選擇一個已經有東西的目錄也是能夠的。不過,不建議你使用本身正在開發的公司項目來學習Git,不然形成的一切後果概不負責。
首先這裏再明確一下,全部的版本控制系統,其實只能跟蹤文本文件的改動,好比TXT文件,網頁,全部的程序代碼等等,Git也不例外。版本控制系統能夠告訴你每次的改動,好比在第5行加了一個單詞"Linux",在第8行刪了一個單詞"Windows"。而圖片、視頻這些二進制文件,雖然也能由版本控制系統管理,但無法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是隻知道圖片從100KB改爲了120KB,但到底改了啥,版本控制系統不知道,也無法知道。
不幸的是,Microsoft的Word格式是二進制格式,所以,版本控制系統是無法跟蹤Word文件的改動的,前面咱們舉的例子只是爲了演示,若是要真正使用版本控制系統,就要以純文本方式編寫文件。
由於文本是有編碼的,好比中文有經常使用的GBK編碼,日文有Shift_JIS編碼,若是沒有歷史遺留問題,強烈建議使用標準的UTF-8編碼,全部語言使用同一種編碼,既沒有衝突,又被全部平臺所支持。