1. 程式人生 > >Git學習之路(01-Git簡介與配置)

Git學習之路(01-Git簡介與配置)

一次 成了 好處 com 每次 客戶 寫上 時間 全局

前沿

作為程序員,Git的學習是必不可少的,不管項目代碼的開源還是跟蹤管理都離不開它。本人學習Git的過程中,特以在此整理筆記,方便以後查看筆記和解決問題。本人學習的是網上受歡迎的廖雪峰老師的Git教程,的確是簡單易懂,非常適合初學者的學習和交流,然後也參考了小甲魚老師錄制的Git教程視頻。

簡介

Git是什麽?Git是目前世界上最先進的分布式版本控制系統(沒有之一)。什麽是版本控制系統?版本控制系統((VCS))是一種記錄一個或若幹文件內容變化,以便將來查閱特定版本修訂情況的系統。我們對保存著軟件源代碼的文件作版本控制,實際上,你可以對任何類型的文件進行版本控制。所有的版本控制系統,其實只能跟蹤文本文件的改動,比如TXT文件,網頁,所有的程序代碼等等,Git也不例外。版本控制系統可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”。而圖片、視頻這些二進制文件,雖然也能由版本控制系統管理,但沒法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統不知道,也沒法知道。不幸的是,Microsoft的Word格式是二進制格式,因此,版本控制系統是沒法跟蹤Word文件的改動的,如果要真正使用版本控制系統,就要以純文本方式編寫文件。因為文本是有編碼的,比如中文有常用的GBK編碼,日文有Shift_JIS編碼,如果沒有歷史遺留問題,強烈建議使用標準的UTF-8編碼,所有語言使用同一種編碼,既沒有沖突,又被所有平臺所支持。

版本控制系統從古至今分為三種:本地版本控制系統集中式版本控制系統分布式版本控制系統

本地版本控制系統

許多人習慣用復制整個項目目錄的方式來保存不同的版本,或許還會改名加上備份時間以示區別。 這麽做唯一的好處就是簡單,但是特別容易犯錯。 有時候會混淆所在的工作目錄,一不小心會寫錯文件或者覆蓋意想外的文件。為了解決這個問題,人們很久以前就開發了許多種本地版本控制系統,大多都是采用某種簡單的數據庫來記錄文件的歷次更新差異。例如:RCS(也是一個本地版本控制系統)。
原理:在硬盤上(本地,local computer)保存補丁集(文件修訂前後的變化),通過所有的補丁,可以計算出各個版本的文件內容。

集中式版本控制系統

接下來人們又遇到一個問題,如何讓在不同系統上的開發者協同工作? 於是,集中化的版本控制系統(Centralized Version Control Systems,簡稱 CVCS)應運而生。 這類系統,諸如 CVS、Subversion 以及 Perforce 等,都有一個單一的集中管理的服務器,保存所有文件的修訂版本,而協同工作的人們都通過客戶端連到這臺服務器,取出最新的文件或者提交更新。 多年以來,這已成為版本控制系統的標準做法。缺點是中央服務器的單點故障。 如果宕機一小時,那麽在這一小時內,誰都無法提交更新,也就無法協同工作。 如果中心數據庫所在的磁盤發生損壞,又沒有做恰當備份,毫無疑問你將丟失所有數據——包括項目的整個變更歷史,只剩下人們在各自機器上保留的單獨快照。 CVS作為最早的開源而且免費的集中式版本控制系統,直到現在還有不少人在用。由於CVS自身設計的問題,會造成提交文件不完整,版本庫莫名其妙損壞的情況。同樣是開源而且免費的SVN修正了CVS的一些穩定性問題,是目前用得最多的集中式版本庫控制系統。

分布式版本控制系統

分布式版本控制系統(Distributed Version Control System,簡稱 DVCS)面世了。 在這類系統中,像 Git、Mercurial、Bazaar 以及 Darcs 等,客戶端並不只提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。 這麽一來,任何一處協同工作用的服務器發生故障,事後都可以用任何一個鏡像出來的本地倉庫恢復。 因為每一次的克隆操作,實際上都是一次對代碼倉庫的完整備份。

Git配置

最早Git是在Linux上開發的,很長一段時間內,Git也只能在Linux和Unix系統上跑。不過,慢慢地有人把它移植到了Windows上。現在,Git可以在Linux、Unix、Mac和Windows這幾大平臺上正常運行了。先在Git官網下載鏈接下載好,再安裝。
安裝完成後,在電腦出現了下面三個東西,如下圖:
技術分享圖片
第一個是可視化圖形界面,第二個是CMD,第三個是Bash。
Git中的Bash是基於CMD的,在CMD的基礎上增添一些新的命令與功能。所以建議在使用的時候,用Bash更加方便。

還需要最後一步設置,打開Bash,界面如下:
技術分享圖片
從圖片標題欄可以看出,當前在Git根目錄(/c/Users/Administrator)。
在命令行輸入:

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

上面命令的操作是在全局配置寫上自己的名字和Email地址。也可以單獨為某個倉庫指定局部的名字和Email地址,等到了下一節創建第一個倉庫的內容時再細講。
全局配置文件在哪?其實就在Git根目錄(/c/Users/Administrator)上名字叫.gitconfig的文件,如下圖所示:
技術分享圖片
文件內容如下:
技術分享圖片
看到倒數第三個文件沒,這就是全局配置文件,裏面包含了我們創建的全局名字和全局Email地址,當你創建了一個新倉庫,默認這個新倉庫使用的就是全局配置文件裏的用戶名和Email地址。既然設置好了全局配置,那麽可以執行下面的命令查看當前配置:

git config ––list,則查看當前配置(全局配置+其他配置)

如下圖:
技術分享圖片
要想單獨查看全局配置,可以加個--global:

git config ––global ––list,查看全局配置

如下圖:
技術分享圖片

Git學習之路(01-Git簡介與配置)