Git是一款免費、開源的分佈式版本控制系統,用於敏捷高效地處理任何或小或大的項目。git
Git是一個開源的分佈式版本控制系統,用以有效、高速的處理從很小到很是大的項目版本管理。 Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。github
Torvalds 開始着手開發 Git 是爲了做爲一種過渡方案來替代 BitKeeper,後者以前一直是 Linux 內核開發人員在全球使用的主要源代碼工具。開放源碼社區中的有些人以爲 BitKeeper 的許可證並不適合開放源碼社區的工做,所以 Torvalds 決定着手研究許可證更爲靈活的版本控制系統。儘管最初 Git 的開發是爲了輔助 Linux 內核開發的過程,可是咱們已經發如今不少其餘自由軟件項目中也使用了 Git。例如 最近就遷移到 Git 上來了,不少 Freedesktop 的項目也遷移到了 Git 上。shell
(以上內容摘自百度百科,有興趣的朋友能夠移步到百度進行搜索)vim
Git是什麼?windows
Git是目前世界上最早進的分佈式版本控制系統(沒有之一)。bash
Git有什麼特色?簡單來講就是:高端大氣上檔次!分佈式
那什麼是版本控制系統?工具
若是你用Microsoft Word寫過長篇大論,那你必定有這樣的經歷:學習
想刪除一個段落,又怕未來想恢復找不回來怎麼辦?有辦法,先把當前文件「另存爲……」一個新的Word文件,再接着改,改到必定程度,再「另存爲……」一個新文件,這樣一直改下去,最後你的Word文檔變成了這樣:網站
過了一週,你想找回被刪除的文字,可是已經記不清刪除前保存在哪一個文件裏了,只好一個一個文件去找,真麻煩。
看着一堆亂七八糟的文件,想保留最新的一個,而後把其餘的刪掉,又怕哪天會用上,還不敢刪,真鬱悶。
更要命的是,有些部分須要你的財務同事幫助填寫,因而你把文件Copy到U盤裏給她(也可能經過Email發送一份給她),而後,你繼續修改Word文件。一天後,同事再把Word文件傳給你,此時,你必須想一想,發給她以後到你收到她的文件期間,你做了哪些改動,得把你的改動和她的部分合並,真困難。
因而你想,若是有一個軟件,不但能自動幫我記錄每次文件的改動,還可讓同事協做編輯,這樣就不用本身管理一堆相似的文件了,也不須要把文件傳來傳去。若是想查看某次改動,只須要在軟件裏瞄一眼就能夠,豈不是很方便?
這個軟件用起來就應該像這個樣子,能記錄每次文件的改動:
版本 用戶 說明 日期
1 張三 刪除了軟件服務條款 57/12 10:38
2 張三 增長了License人數限制 7/12 18:09
3 李四 財務部門調整了合同金額 7/13 9:51
4 張三 延長了免費升級週期 7/14 15:17
這樣,你就結束了手動管理多個「版本」的史前時代,進入到版本控制的20世紀。
(以上內容摘自廖雪峯的博客網站,地址是:http://www.liaoxuefeng.com/,有興趣的朋友能夠去查看他的git教程)
OK,我以本身的MAC爲準,來記錄個人學習過程。
首先,MAC自帶了git,咱們在命令行下輸入git,會跳出一大堆幫助命令,再次輸入git --version,就會顯示當前git版本。
接着咱們從git的官方網站(git-scm.com)下載最新的git版本,官網會自動提示您下載當前您的系統適應版本,下載完成後直接安裝,這裏就再也不贅述。
咱們在命令行窗口輸入命令來查看當前系統安裝的git
localhost:~ liuzhen$ which -a git /usr/local/git/bin/git /usr/local/bin/git /usr/bin/git localhost:~ liuzhen$
咱們看到有3個版本的git,那麼咱們如何來使用這些版本的git呢?在命令行窗口使用vim打開並編輯.bash_profile文件
並輸入如下命令:
export PATH=/usr/local/git/bin:$PATH
保存、退出,並輸入命令鏈接:
source .bash_profile
再次輸入git --version命令來查看當前使用的git版本
localhost:~ liuzhen$ git --version git version 2.6.4
git有自動完成功能,當咱們記不住完整的命令時,可使用tab鍵來完成輸入,若是是在windows下,這個功能是集成的。但在Mac下須要進行配置
從github.com/git/git這個地址裏下載git源碼,解壓縮後,進入contrib/completion目錄,找到git-completion.bash和git-prompt.sh文件,將他們拷貝到根目錄下便可,最後source一下
git的基本配置很簡單,須要配置用戶名和Email,命令以下:
git config --global user.name kaindy1976 git config --global user.email kaindy7633@gmail.com
這兩個配置用來講明提交代碼的人是誰,用來識別做者。
git配置的三個級別分別是git config --system、git config --global、 git config --local,從優先級來講,local級別最高,其次是global,最低是system
git文檔的查看,git的命令不少,咱們也不可能每一個都記得,最好的方式就是學會查看git的文檔,查看git文檔有三種方式:
git config --help
git help config
man git-config
git添加,好比咱們想給git添加一個user,那麼咱們能夠像這樣作
git config --global --add user.name lz
接下來咱們可使用下面的命令來獲取
git config user.name
也能夠這樣獲取
git config --get user.name
OK,若是咱們須要獲取全部的鍵值對信息呢?能夠這樣
git config --list --global
在git中,同一個鍵能夠對應多個值,好比,咱們能夠再次指定一個user.name的值
git config --global --add user.name liuzhen
這時當咱們須要刪除時能夠鍵入下面的命令
git config --global --unset user.name
但若是有多個值時,系統會提示user.name這個鍵有多個值,須要單獨指定,這時,咱們就能夠指定要刪除的值
git config --global --unset user.name liuzhen
那麼咱們如何來修改這些鍵值對呢?
git config --global user.name liuzhen
咱們只須要像上面同樣,從新指定鍵的值便可
下面咱們來看看給git命令起別名
git config --global alias.co checkout git config --global alias.br branch git config --global alias.st status git config --global alias.ci commit
之後咱們就可使用這些別名來啓動git的命令了