常用版本控制工具之 GIT(一)

* 是什么

* 怎么用

* 用在哪些場合

* 有哪些注意點

## 什么是 git

* 是一款開源的分布式版本控制工具。

* 所有的分布式版本控制工具中,git 是最快、最簡單、最流行的工具

## git 的起源

* 作者是 Linux 之父:Linus Benedict Torvalds

* 為了輔助 Linux 內核的開發(管理源代碼)

## git 現狀

國外已經非常普及,國內并未普及

## 其它版本控制工具

* CVS 最早的開源、免費的集中式版本控制恐懼

* SVN使用最多的集中式版本控制工具

* ClearCase

*? VSS 微軟開發的版本控制工具

## 集中版本控制

[image:41059088-B185-4490-81E7-B2DB59015D94-11366-000073DD2FF0685E/集中版本控制工具.png]

所有的代碼在一個地方進行管理

## 分布式版本控制

[image:353310C9-26D8-4832-B305-B358C1787A16-11366-000060E253135606/屏幕快照 2017-02-10 18.51.50.png]

服務端和客戶端都有代碼倉庫。

## git 和 svn 的簡單對比

* 速度 :

很多情況下,git 的 速度遠比 SVN 快

* 結構:

svn 集中式管理,git 分布式管理

* 其它:

svn 使用分支比較笨拙,git 可以輕松擁有無限個分支

svn 使用時必須聯網,git 支持本地版本控制工作

舊版本的 svn 會在每一個文件夾下 放置一個.svn,git 只會在根目錄 擁有一個.git

## git 的工作流程

[image:92CFFCFF-CC34-45D1-AA56-94B727C0629F-11366-000069B4F7E3F383/屏幕快照 2017-02-10 21.33.22.png]

* 先 commit 本地緩存區,在執行 pull,push 操作。

* 分布式和集中式的最大區別在于:在分布式下開發者可以本地提交,每個開發者機器上都有一個服務器的數據庫

## 使用 git

*可以通過命令行指令或者圖形界面客戶端使用 git*

在mac 上,比較好用的 git 圖形界面客戶端有

* SourceTree[SourceTree](http://www.sourcetreeapp.com/download/)

* Github? [Github 客戶端](https://mac.github.com) 不過它是專門為 GitHub 網站設計的

* Xcode 集成的指令比較簡單,不能進行較復雜的操作

### 使用指令:

1)新建一個本地倉庫

$ git init

2)配置倉庫

*一次性配置* (會配置到管理文件的.git 文件夾下)

我是誰

$? git config user.name myname

怎么聯系我

$? git config user.email myemail@email.com

*全局配置* (一勞永逸,放到個人用目錄下)

$ git config —global user.name myname

$ git config —global user.email myemail@email.com

### 如何學習 git 指令

>? git通過使用指南的方式告訴我們某一個指令如何使用

> 這個指令其實是一個不可編輯的 vim

>? q 退出指南

> 按空格下一頁

> control + B 上一頁

> /需要搜索的內容

$ git —help

e.g.: $ git —help clone

### git 常規指令

$ git status 查看文件狀態’

$ git add 添加文件到暫存區

$ git commit 文件名稱 -m 日志信息? *添加文件到”本地倉庫”*

如沒有-m 說明,會自動進入 vim 界面,要求我們輸入修改信息

注意:git 中每次新建或修改之后都要重新 add,svn 只需要 add 一次

文件狀態顏色

> 1、未添加之前的顏色? ——— 紅色 代表在”工作區”

> 2、添加到暫存區之后的顏色 ——— 綠色 代表在”暫存區”

## 工作原理

核心概念:

* 工作區(Working Directory):倉庫文件夾里除.git 目錄以外的內容

* 版本庫(Repository):.git 目錄,用于存儲記錄版本信息.

暫緩區(stage)

分支(master):git 自動創建的第一個分支

HEAD指針:用于指向當前分支

git add 和 git commit 的原理:

* git add:把文件修改添加到暫存區

* git commit : 把暫存區的所有內容提交到當前分支

[image:0B5090F4-4EF3-4739-97DE-2899BBC7231A-11366-000072C56B1EFB8D/屏幕快照 2017-02-11 09.19.35.png]

[image:190BE1D4-A8C0-4BF9-86F4-80455384D65C-11366-000072D514C2E003/屏幕快照 2017-02-11 09.20.20.png]

[image:4C2A9F6D-A258-4CB6-B656-9287F7B88E18-11366-000072DCDAC5CF3E/屏幕快照 2017-02-11 09.21.19.png]

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,677評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,643評論 2 380

推薦閱讀更多精彩內容

  • 寫在前面 Git版本控制工具是由Linux之父Linus Torvalds開發的,Git工具的出現降低了軟件版本維...
    郭少_閱讀 3,816評論 0 7
  • GIT分布式版本控制系統最佳實踐 這篇文章來自于老男孩教育高級架構師班12期的徐亮偉同學。 首先感謝老男孩架構師班...
    meng_philip123閱讀 3,467評論 4 36
  • 來源:Git由淺入深之操作與指令作者:驚鴻三世(轉載已獲得原作者許可,如需轉載請與原作者聯系) 本篇正式開始介紹G...
    極樂君閱讀 1,665評論 9 67
  • 天氣持續涼爽,趕緊把苗子種下了。辣椒已經種完,茄子也已經差不多了,就等蘆筍了。 生產與銷售的銜接仍...
    小貼士閱讀 180評論 0 0
  • 這段話很適合在孩子早期給報各種興趣班的家長。 我想告訴天下為人父母者:游戲先于努力。對那些尚未有固定的激情卻準備每...
    默默_3495閱讀 225評論 0 0