*****
**Git安裝**
[TOC=6]
# 2. Git安裝
## 2.1 為什么使用Git?
1. 管理我們的代碼
2. 多人協同開發
3. 高效、安全、方便
## 2.2 什么是Git?
Git是目前世界上最先進的分布式版本控制系統(沒有之一)。
## 2.3 Git安裝
下載地址: [https://git-scm.com/downloads](https://git-scm.com/downloads)

安裝:Window版

完成安裝之后,就可以使用命令行的 git 工具(已經自帶了 ssh 客戶端)了,另外還有一個圖形界面的 Git 項目管理工具。
在開始菜單里找到"Git"->"Git Bash",會彈出 Git 命令窗口,你可以在該窗口進行 Git 操作。
## 2.4 創建版本庫
什么是版本庫呢?版本庫又名倉庫,英文名**repository**,你可以簡單理解成一個目錄,這個目錄里面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。
所以,創建一個版本庫非常簡單,首先,選擇一個合適的地方,創建一個空目錄:
~~~
$ mkdir shopcode
$ cd shopcode
$ pwd
/Users/zhaoliang/shopcode
~~~
`pwd`命令用于顯示當前目錄。
第二步,通過`git init`命令把這個目錄變成Git可以管理的倉庫:
~~~
$ git init
Initialized empty Git repository in /Users/zhaoliang/shopcode/.git/
~~~
瞬間Git就把倉庫建好了,而且告訴你是一個空的倉庫(empty Git repository),細心的讀者可以發現當前目錄下多了一個`.git`的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄里面的文件,不然改亂了,就把Git倉庫給破壞了。
如果你沒有看到`.git`目錄,那是因為這個目錄默認是隱藏的,用`ls -ah`命令就可以看見。
## 2.5 把文件添加到版本庫
現在我們編寫一個`readme.txt`文件,內容如下:
~~~
1612B 班 大家好嗎?
非常好!
那好,我們來學習git添加文件。
~~~
一定要放到`shopcode`目錄下(子目錄也行),因為這是一個Git倉庫,放到其他地方Git再厲害也找不到這個文件。
和把大象放到冰箱需要3步相比,把一個文件放到Git倉庫只需要兩步。
第一步,用命令`git add`告訴Git,把文件添加到倉庫:
~~~
$ git add readme.txt
~~~
執行上面的命令,沒有任何顯示,這就對了,Unix的哲學是“沒有消息就是好消息”,說明添加成功。
第二步,用命令`git commit`告訴Git,把文件提交到倉庫:
~~~
$ git commit -m "wrote a readme file"
[master (root-commit) 30c0ddf] wirte a readme file
1 file changed, 3 insertions(+)
create mode 100644 readme.txt
~~~
簡單解釋一下`git commit`命令,`-m`后面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動記錄。
`git commit`命令執行成功后會告訴你,`1 file changed`:1個文件被改動(我們新添加的readme.txt文件);`3 insertions`:插入了兩行內容(readme.txt有兩行內容)。
為什么Git添加文件需要`add`,`commit`一共兩步呢?因為`commit`可以一次提交很多文件,所以你可以多次`add`不同的文件,比如:
~~~
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
~~~
## 2.5 小結
現在總結一下本小結的兩點內容:
初始化一個Git倉庫,使用`git init`命令。
添加文件到Git倉庫,分兩步:
1. 使用命令`git add <file>`,注意,可反復多次使用,添加多個文件;
2. 使用命令`git commit -m <message>`,完成。
跟上

- 班規
- 第一單元 Git
- 1.1 Git簡介
- 1.2 Git安裝
- 1.3 版本控制
- 1.4 遠程倉庫
- 1.5 分支管理
- 1.6 Git命令總結
- 1.7 在Android Studio中使用Git
- 第一單元 作業
- 第二單元 項目立項
- 2.1 需求文檔
- 2.2 原型圖
- 2.3 接口文檔
- 2.4 項目實現
- 2.5 制定開發計劃
- 第二單元 作業
- 第三單元 MVP搭建項目框架
- 3.1 代碼架構模式
- 3.2 普通方式寫代碼
- 3.3 使用MVC重構代碼
- 3.4 使用MVP重構代碼
- 3.5 使用接口提高代碼通用性
- 3.6 內存泄漏
- 3.7 使用契約統一管理接口
- 第三單元 作業
- 第四單元 MVP架構優化
- 4.1 MVP基類封裝與泛型應用
- 4.3 BaseActivity的封裝
- 第五單元 Volley網絡框架
- 5.1 Volley網絡框架
- 第六單元 Glide實現圖片異步加載
- 6.1 開始使用
- 6.2 占位符
- 6.3 Glide緩存
- 6.4 GlideGifVideo與色彩模式
- 第七單元 傳統屏幕適配
- 7.1 相對布局
- 7.1 權重
- 7.3 .9Patch
- 7.4 dimens適配
- 7.5 國際化
- 7.6 shape實現自定義樣式
- 7.7 自定義樣式
- 7.8 沉浸式狀態欄
- 第八單元 RecyclerView
- 8.1 RecycleView
- 第九單元 自定義View
- 第十單元 自定義View實戰
- 第十一單元 自定義View進階
- 第二十單元 屬性動畫
- 第十三單元 異常捕獲機制
- 第十四單元 原生登錄、注冊模塊
- 第十五單元 第三方登錄、分享、統計
- 第十六單元 HTML5新特性
- 第十七單元 CSS3新特性
- 第十八單元 WebView與JS交互
- 第一周周考
- 第二周周考
- 第三周周考
- 月考