【聲明】 歡迎轉載,但請保留文章原始出處→_→ 生命壹號:http://www.cnblogs.com/smyhvae/ 文章來源:http://www.cnblogs.com/smyhvae/p/3981720.html 聯繫方式:[email protected] 【正文】 一、初識Git: Gi ...
【聲明】
歡迎轉載,但請保留文章原始出處→_→
生命壹號:http://www.cnblogs.com/smyhvae/
文章來源:http://www.cnblogs.com/smyhvae/p/3981720.html
聯繫方式:[email protected]
【正文】
一、初識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 |
二、在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這幾個命令安裝就好了。
三、在Windows平臺安裝Git:
Windows下要使用很多Linux/Unix的工具時,需要Cygwin這樣的模擬環境,Git也一樣。Cygwin的安裝和配置都比較複雜,不建議折騰。不過,有高人已經把模擬環境和Git都打包好了,名叫msysgit,只需要下載一個單獨的exe安裝程式,其他什麼也不用裝,絕對好用。
msysgit是Windows版的Git,下載鏈接:http://msysgit.github.io/。下載完成後,開始安裝。
安裝時,彈出如下界面,預設即可:
各參數解釋如下:
- 圖標組件(Addition icons) : 選擇是否創建快速啟動欄圖標 或者 是否創建桌面快捷方式;
- 桌面瀏覽(Windows Explorer integration) : 瀏覽源碼的方法, 單獨的上下文瀏覽 只使用bash 或者 只用Git GUI工具; 高級的上下文瀏覽方法 使用git-cheetah plugin插件;
- 關聯配置文件 : 是否關聯git配置文件, 該配置文件主要顯示文本編輯器的樣式;
- 關聯shell腳本文件 : 是否關聯Bash命令行執行的腳本文件;
- 使用TrueType編碼 : 在命令行中是否使用TruthType編碼, 該編碼是微軟和蘋果公司制定的通用編碼
接著,彈出如下界面,預設即可:
上方圖片,是設置環境變數 : 選擇使用什麼樣的命令行工具, 一般情況下我們預設使用Git Bash即可, 預設選擇。各參數解釋如下:
- Git自帶 : 使用Git自帶的Git Bash命令行工具;
- 系統自帶CMD : 使用Windows系統的命令行工具;
- 二者都有 : 上面二者同時配置, 但是註意, 這樣會將windows中的find.exe 和 sort.exe工具覆蓋, 如果不懂這些儘量不要選擇
接著,彈出如下界面,預設即可:
- 檢查出windows格式轉換為unix格式 : 將windows格式的換行轉為unix格式的換行在進行提交;
- 檢查出原來格式轉為unix格式 : 不管什麼格式的, 一律轉為unix格式的換行在進行提交;
- 不進行格式轉換 : 不進行轉換, 檢查出什麼, 就提交什麼
總而言之,按照預設的配置安裝即可。安裝完成後,在開始菜單里找到“Git”->“Git Bash”,彈出出一個命令行視窗,說明Git安裝成功:
二、各種配置:
(1)配置身份:
安裝成功後,還需要配置身份(即配置本地用戶和郵箱),這是用來上傳本地倉庫到GitHub中, 在GitHub中顯示代碼上傳者。我們輸入如下命令進行配置:
$ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"
因為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倉庫給破壞了。
三、把文件添加到版本庫:
【聲明】
首先這裡再明確一下,所有的版本控制系統,其實只能跟蹤文本文件的改動,比如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