一、工作區、暫存區、版本庫、遠程庫
- 工作區:電腦裏能看到的目錄,本地硬盤目錄
- 暫存區Stage:一般存放在".git目錄" 下的index文件(.git/index)中,git add 的文件,把文件修改添加到暫存區
- 版本庫Repository:版本庫又名倉庫,英文名repository,你可以簡單的理解一個目錄,這個目錄裏面的所有文件都可以被Git管理起來,每個文件的修改,刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻還可以將文件”還原”。
使用git init即可創建一個版本庫
工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫。git中的head/master是分支,是版本庫。
git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。 - 遠程庫Origin:和版本庫對應
- 下面這個圖展示了工作區、版本庫中的暫存區和版本庫之間的關係:
二、團隊協作git操作流程:
克隆一個全新的項目,完成新功能並且提交:
- git clone XXX //克隆代碼庫
- git checkout -b test //新建分支
- modify some files //完成修改
- git add . //把修改加入stage中
- git commit -m '' //提交修改到test分支
- review代碼
- git checkout master //切換到master分支
- git pull //更新代碼
- git checkout test //切換到test分支
- git meger master //把master分支的代碼merge到test分支
- git push origin 分支名//把test分支的代碼push到遠程庫
目前正在test分支上面開發某個功能,但是沒有完成。突然一個緊急的bug需要處理
- git add .
- git stash
- git checkout bugFixBranch
- git pull --rebase origin master
- fix the bug
- git add .
- git commit -m ''
- git push
- git checkout test
- git stash pop
- continue new feature's development