【聲明】 html
歡迎轉載,但請保留文章原始出處→_→ git
生命壹號:http://www.cnblogs.com/smyhvae/ github
文章來源:http://www.cnblogs.com/smyhvae/p/3981720.htmlshell
【系列文章】windows
Git版本控制工具(一)----git的安裝及建立版本庫bash
git版本控制工具(二)----本地版本庫的經常使用操做編輯器
Git版本控制工具(三)----遠程倉庫GitHub的使用分佈式
【正文】工具
1、初識Git:網站
Git是目前世界上最早進的分佈式版本控制系統(沒有之一)。它的開發者就是大名鼎鼎的Linux操做系統的做者Linus Torvalds。Git被開發出來的初衷是爲了更好的管理Linux內核,而如今卻普遍應用於各類項目中。Git迅速成爲最流行的分佈式版本控制系統,尤爲是2008年,GitHub網站上線了,它爲開源項目免費提供Git存儲,無數開源項目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。
那那什麼是版本控制系統呢?若是有一個軟件,不但能自動幫我記錄每次文件的改動,還可讓同事協做編輯,這樣就不用本身管理一堆相似的文件了,也不須要把文件傳來傳去。若是想查看某次改動,只須要在軟件裏瞄一眼就能夠,豈不是很方便?
這個軟件用起來就應該像這個樣子,能記錄每次文件的改動:
版本 | 用戶 | 說明 | 日期 |
---|---|---|---|
1 | 張三 | 刪除了軟件服務條款5 | 7/12 10:38 |
2 | 張三 | 增長了License人數限制 | 7/12 18:09 |
3 | 李四 | 財務部門調整了合同金額 | 7/13 9:51 |
4 | 張三 | 延長了免費升級週期 | 7/14 15:17 |
2、在Linux平臺安裝Git:
首先,能夠試着輸入git,看看系統有沒有安裝Git:
$ git The program 'git' is currently not installed. You can install it by typing: sudo apt-get install git
若是用Debian或Ubuntu Linux,經過一條命令便可完成安裝:
sudo apt-get install git
注:
老一點的Debian或Ubuntu Linux,要把命令改成「sudo apt-get install git-core」,由於之前有個軟件也叫GIT(GNU Interactive Tools),結果Git就只能叫git-core了。因爲Git名氣實在太大,後來就把GNU Interactive Tools改爲gnuit,git-core正式改成git。
若是是其餘Linux版本,能夠直接經過源碼安裝。先從Git官網下載源碼,而後解壓,依次輸入:./config,make,sudo make install這幾個命令安裝就行了。
3、在Windows平臺安裝Git:
Windows下要使用不少Linux/Unix的工具時,須要Cygwin這樣的模擬環境,Git也同樣。Cygwin的安裝和配置都比較複雜,不建議折騰。不過,有高人已經把模擬環境和Git都打包好了,名叫msysgit,只須要下載一個單獨的exe安裝程序,其餘什麼也不用裝,絕對好用。
msysgit是Windows版的Git,下載連接:http://msysgit.github.io/。下載完成後,開始安裝。
安裝時,彈出以下界面,默認便可:
各參數解釋以下:
接着,彈出以下界面,默認便可:
上方圖片,是設置環境變量 : 選擇使用什麼樣的命令行工具, 通常狀況下咱們默認使用Git Bash便可, 默認選擇。各參數解釋以下:
接着,彈出以下界面,默認便可:
總而言之,按照默認的配置安裝便可。安裝完成後,在開始菜單裏找到「Git」->「Git Bash」,彈出出一個命令行窗口,說明Git安裝成功:
2、各類配置:
(1)配置身份:
安裝成功後,還須要配置身份(即配置本地用戶和郵箱),這是用來上傳本地倉庫到GitHub中, 在GitHub中顯示代碼上傳者。咱們輸入以下命令進行配置:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
由於Git是分佈式版本控制系統,因此,每一個機器都必須自報家門:你的名字和Email地址。
注:git config命令的--global參數,用了這個參數,表示你這臺機器上全部的Git倉庫都會使用這個配置,固然也能夠對某個倉庫指定不一樣的用戶名和Email地址。
配置完成後可使用一樣的命令來查看是否配置成功,只須要將最後的名字和郵箱地址去掉便可。
(2)設置Git本地項目開發庫默認路徑:
若是設置了,就不用每次打開Git再cd打開目錄了。方法:右鍵git快捷圖標(名叫:Git Bash),找到快捷方式-起始位置,把你的項目地址放在這裏就能夠了。默認設置以下圖:
修改後以下圖:
(3)建立版本庫:
版本庫又名倉庫,英文名repository,能夠簡單理解成一個目錄,這個目錄裏面的全部文件均可以被Git管理起來,每一個文件的修改、刪除,Git都能跟蹤,以便任什麼時候刻均可以追蹤歷史,或者在未來某個時刻能夠「還原」。
因此,建立一個版本庫很是簡單,首先,選擇一個合適的地方,新建一個空目錄,我新建的目錄是:E:\codes\github\smyhvae,咱們先跳到這個目錄中來:
$ cd /e/codes/github/smyhvae
注:經過pwd命令可顯示當前目錄。
而後,經過git init命令把這個目錄變成Git能夠管理的倉庫:
$ git init Initialized empty Git repository in e:/codes/github/smyhvae/.git/
瞬間Git就把倉庫建好了,並且告訴你是一個空的倉庫(empty Git repository),細心的讀者能夠發現當前目錄下多了一個.git的目錄(這是一個隱藏文件夾),這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裏面的文件,否則改亂了,就把Git倉庫給破壞了。
3、把文件添加到版本庫:
【聲明】
首先這裏再明確一下,全部的版本控制系統,其實只能跟蹤文本文件的改動,好比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便可:
【步驟】
如今咱們在e/codes/github/smyhvae目錄下編寫一個readme.txt文件,並在裏面寫一些東西。
進入版本庫:
$ cd /e/codes/github/smyhvae
把一個文件放到Git倉庫只須要兩步。
第一步:用命令git add告訴Git,把文件添加到倉庫:
更新本地版本庫(.指當前全部目錄及文件):
$ git add .
固然,若是你僅僅是添加一個文件,能夠這樣寫:
$ git add readme.txt
更新一個目錄這樣寫:
$ git add src/
第二步,用命令git commit告訴Git,把文件提交到倉庫:
$ git commit -m "一些說明" [master (root-commit) a2ebf86] 一些說明 1 file changed, 2 insertions(+) create mode 100644 readme.txt
git commit命令中,-m後面輸入的是本次提交的描述信息,能夠輸入任意內容,固然最好是有意義的,這樣你就能從歷史記錄裏方便地找到改動記錄。
嫌麻煩不想輸入-m "xxx"行不行?確實有辦法能夠這麼幹,可是強烈不建議你這麼幹,由於輸入說明對本身對別人閱讀都很重要。
git commit命令執行成功後會告訴你,1個文件被改動(咱們新添加的readme.txt文件),插入了兩行內容(readme.txt有兩行內容)。
爲何Git添加文件須要add,commit一共兩步呢?由於commit能夠一次提交不少文件,因此你能夠屢次add不一樣的文件,而後最後一塊兒commit。
關於版本庫的經常使用操做,將在下一個章節中進行講解。
本文參考連接:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000