Chapter1 起步
參考自 https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5
1.1 git 和 svn 的區別:
-
svn 集中式版本控制系統:
有一個中央服務器負責管理文件的所有修訂版本。客戶端只拉取最新版本,其原理如下圖: -
git 分布式版本控制系統:
客戶端不只拉取最新版本,而是會把代碼倉庫完成鏡像下來(客戶端也保存了所有修訂版本的數據庫),每一次的提取操作,實際上都是一次對代碼倉庫的完整備份,見下圖:
git 的優點在于,即使服務器掛掉了,依然可以從客戶端的本地倉庫恢復。
1.2 文件的三種狀態:
對于任何一個文件,在 git 內部都有三種狀態:
已修改(moidified): 修改了某個文件,但還沒有提交保存;
已暫存(staged): 把已修改的文件放在下次要提交的清單中;
-
已提交(committed): 文件已經被保存到了本地數據庫中;
基本的 git 工作流程如下:
- 在工作目錄修改某些文件;
- 對修改后的文件進行快照,然后保存到暫存區域;
- 提交更新,將保存在暫存區域的文件快照永久轉儲到 git 目錄中;
1.3 初次運行 git 前的配置:
首先要配置你的用戶名稱和郵箱地址。這兩條配置很重要,每次 git 提交時都會引用這兩條信息,說明是誰提交了更新,所以會隨更新一起被永久納入歷史紀錄:
$ git config --global user.name "dongyu"
$ git config --global user.email yin_caoyuan@126.com
要檢查已有的配置信息,可以使用 git config --list 命令:
$ git config --list
user.name=dongyu
user.email=yin_caoyuan@126.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
也可以只檢查某個變量的設定:
$ git config user.name
dongyu
要了解 git 的各項工具用法,可以使用如下命令:
$ git help <verb>
$ git <verb> --help
比如可以用如下方法學習 config 命令的用法:
$ git help config