首先咱們先看一張圖:
首先咱們必需要先理解這幾個概念:
暫存區,本地倉庫,遠程倉庫
暫存區:這個是咱們每一次進行代碼修改的地方,例如咱們ieda的所編譯的代碼就是緩存區
本地倉庫:是咱們每一次pull,從遠程倉庫pull(拉取)到地方,這個地方就是本地倉庫 ,他其實就是遠程倉庫的一個副本
遠程倉庫:這個是存放到服務器上的代碼,是每個人認爲本身的代碼修改好了,就能夠集體上傳到一個地方,而你也能夠從這個地方下載別人的代碼,這個地方就是遠程倉庫。
咱們接下來就來介紹一下使用狀況,git
wangjing18-dev:Master分支,這個是存放博主的代碼的地方
Stanging:Master分支,這個是咱們集體存放測試代碼的分支
例如:你有一個項目,你在本地測好了,可是你想放到線上服務器可是你又不肯定沒有bug,則這個時候你能夠把代碼放入到線上的測試環境上面,這個時候是線上的測試環境,能夠讓測試人員也能夠訪問的到。
而後咱們來介紹這個圖的意思:
pull、
commit、
push
、
merge
pull:這個是遠程倉庫拉取數據到本地倉庫,就是爲了和遠程倉庫所匹配緩存
commit:當咱們想要把本身的代碼想要提交到遠程的時候,所用的命令行語句,因爲咱們修改所在的區域在暫存區服務器
咱們首先要把本身的代碼commit(提交)到本地倉庫,而後在從本地倉庫push到遠程倉庫,可是切記住一點,咱們如
果每一次在commit的時候,咱們都須要先從線上pull最新的代碼到本地倉庫,而後在把暫存區裏面的代碼提交到本地
倉庫,這個時候若是沒有衝突當然是最好的,若是有了衝突,這我須要解決衝突,這個此時本地倉庫已是最新的代碼
push:這個就是咱們前面把代碼提交到了本地,若是咱們須要提交到遠程服務器上,則須要把代碼push到遠程的分支裏測試
merge:若是有兩個分支裏面的代碼在同一個區域中(兩個同時隸屬於暫存區,或本地倉庫,或遠程倉庫),這個時候
若是咱們想要把這個兩個分區合併,這個也就是所謂commit,只不過這個不跨區域,此時咱們把wangjing18-dev的這
個分支mergeStanging,此時這個mergeStanging就有了wangjing18-dev的代碼,而後咱們在commit,而後在push,