Git是一個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理。
分布式相比于集中式的最大差別在于開發者可以送出到本地,每個開發者通過克隆(git clone),在本地機器上拷貝一個完整的Git倉庫。
全局變量配置:
因為Git是分布式版本控制系統,是以需要填寫使用者名和郵箱作為一個辨別。
repository:
本地建立一個目錄:進入目錄
git init #初始化
下載下傳遠端到本地:
git clone https://github.com/kennethreitz/requests.git
GIT存儲結構: history, staying area, working directory 下面以: H,S,W分别代表
添加及送出:
git status #檢視
git add file1 #添加 從 W 添加到 S
git commit -m 'init commit' # S 送出 H
git commit -am 'init commit1' # W 直接送出到H
檢視狀态:
Various ways to check your working tree
$ git diff (1)
$ git diff --cached (2)
$ git diff HEAD (3)
git differ ## S 跟 W 比以
git diff --staged ## S 跟 H 比較
git diff HEAD ## W 跟 H 比較
git diff --stat HEAD # 同上
撤銷錯誤:
git reset file1 ## 從 H 恢複到 S
git checkout file1 ## 從 S 恢複到 W
git checkout HEAD ## 從 H 恢複到 W
移除跟重命名:
git rm file1 # 從 W 和 S删除, 送出時從H裡面删除
git rm --cached file1 #從 S 删除
git mv file1 file2 # 從W和S重命名,送出生效
git rm file1; git add file2 # 同上
臨時工作區:
git stash ##儲存目前内容,進入臨時工作區
git stash list #檢視臨時工作區清單
git stash pop # 還原工作區
分支
git branch #檢視所有分支
git branch 分支名 #建立分支
git checkout 分支名 ##切換分支
git branch -d 分支名 ## 删除分支
合并分支
git merge 分支名