介紹git的基本知識、文件狀態、工作區域以及一個簡單的操作示例。
目錄
1. git相關介紹
2. 文件狀態與工作區域
3. 快速使用
1. git相關介紹
1.1 git、github、gitlab所代表的意思
git:一種分布式的版本控制工具,每個計算機保存了所有歷史記錄(Svn為集中式的)。
github:一個使用git的代碼托管平台。
gitlab:一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務。可比喻為自己內網搭建個github。
1.2 app下載
1) git for windows
說明:使用git的基礎軟件,可分為了git bash(命令行版本) 和git gui(圖像用戶界面版本)。
地址:https://git-scm.com/downloads
2) TortoiseGit
說明:提供了與TortoiseSvn一樣的操作方式。
1.3 托管平台
1) github
說明:國外的git托管平台。創建私有倉庫需要付費。
2) 碼雲
說明:國內oschina的git托管平台。可免費創建私有倉庫。
1.4 手冊
在線API:https://git-scm.com/docs
《Pro Git》書籍:https://git-scm.com/book/en/v2
《Pro Git》中文版:https://git-scm.com/book/zh/v2
1.5 名詞解釋
repository :倉庫;指git上所創建的代碼庫。一個倉庫對應一個項目。
branches :分支;一個 repository 可以存在多個分支。
2. 文件狀態與工作區域
git的文件狀態是其git核心內容,了解后對后續的操作有莫大的幫助,不同的文件狀態又存儲在不同的工作區域中。
下面簡單的說明這兩者:
2.1 文件狀態
git中的文件有以下幾種狀態:
未跟蹤(untrack):表示文件為新增加的。
已修改(modified):表示修改了文件,但還沒保存到git倉庫中。
已暫存(staged):表示對一個已修改文件的當前版本做了標記,使之包含在下次提交的快照中。
已提交(committed):表示文件已保存在git倉庫中。
2.2 工作區域
知道了文件狀態,也需要知道不同的文件狀態存儲在不同的工作區域內。
按照本地計算機與遠程計算機划分,工作區域有以下幾種:
1)本地計算機
Working Directory(工作目錄):即正在編輯的文件狀態。文件狀態為未跟蹤(untrack)和已修改(modified)在此區域內。
Staging Area(暫存區):保存了下次將提交的文件列表信息。文件狀態為已暫存(staged)在此區域內。
Repository(本地倉庫):提交到本地倉庫的文件。
2)遠程計算機
Repository(遠程倉庫):已提交到遠程計算機內的文件。
2.3 示例圖

3. 快速使用
3.1 基本的 Git 工作流程如下
a.在工作目錄中修改文件。
b.暫存文件,將文件的快照放入暫存區域。
c.提交更新,找到暫存區域的文件,將快照存儲到倉庫目錄。
3.2 示例
下面以一個git測試項目完成一套簡單的git操作為例:
1) 創建一個Git公開倉庫
首先在 https://github.com/ 中創建一個公開倉庫。
創建完成后可獲得git地址:https://github.com/polk6/gitDemo.git

2) git clone:clone 項目
git clone https://github.com/polk6/gitDemo.git newProjectName
說明:表示將倉庫clone到新創建的本地目錄newProjectName內(此參數可忽略,如不輸入將會創建一個倉庫名稱的目錄),默認配置下遠程 Git 倉庫中的每一個文件的每一個版本都將被拉取下來。今后若服務器上的磁盤壞掉了,可以使用任何一個克隆下來的用戶端來重建服務器上的倉庫。
3) 設定身份
git config --local user.name "username" git config --local user.email "user email"
說明:設定此倉庫提交時的身份信息。
--local 表示此倉庫的身份信息,除此之外還有 --global表示當前用戶,--system表示所有用戶。
4) 新增一個文件
echo abc>>1.txt
說明:創建了一個1.txt文件,並寫入了"abc"內容。
5) git add
git add 1.txt
說明: 將1.txt文件提交到【暫存區】
6) git commit
git commit -m "增加了1.txt文件"
說明:將【暫存區】的文件提交到【本地倉庫】
7) git push
git push
說明:將【本地倉庫】的內容提交到【遠程倉庫】
