基本概念
- master:主分支,也是指針指向最新的一次送出;
- head:指向目前分支的指針
當我們建立新的分支,git就會建立一個指針(例如:dev),指向master相同的送出,再把head指向dev;就表示在dev分支上了
git指令
建立并切換分支
$ git checkout -b dev
該指令相當于
$ git branch dev // 建立分支
$ git checkout dev // 切換分支
檢視分支
git branch
删除分支
git branch -d dev
對于某個分支已經送出了,但是沒有和主分支master合并時,想要删除 (用大寫
D
),這種場景會在某個新功能開發到一般時,突然廢棄不開發了
git branch -D dev
合并分支
git merge dev // 合并目前分支和dev分支
git解決沖突
有了分支在合并的時候就難免會有沖突
遇到沖突:
先打開檔案修改後 再次add commit檔案
git diff
: 檢視的沖突
git儲存倉庫現場 與恢複倉庫現場
正在dev分支上幹活,突然有bug要解決,但是dev分支的開發還沒幹完,不想送出;
這是用:
git stash
: 把工作現場儲存起來
等到你建立了新分支去解決bug,bug解決完了與master合并了,在回到dev分支上時;繼續工作。
git stash list
:産看存儲起來的分支
工作現場還在,Git把stash内容存在某個地方了,但是需要恢複一下,有兩個辦法:
一是用
git stash apply
恢複,但是恢複後,stash内容并不删除,你需要用
git stash drop
來删除;
另一種方式是用
git stash pop
,恢複的同時把stash内容也删了:
git把本地的分支推送到遠端倉庫
預設情況是把本地的master(主分支)推送到遠端倉庫的origin分支;如果開發時建立了分支。
比如建立了dev分支,需要推送dev分支時,就用如下指令
git push origin dev
其實預設的push相當于
git push origin master
git遠端分支的相關操作
檢視本地倉庫的分支
git branch
檢視本地和遠端的所有分支
git branch -a
删除一個本地的分支
git branch -d branch-name
删除一個遠端倉庫的分支
git push origin :branch-name
冒号前面的空格不能少,原理是把一個空分支push到server上,相當于删除該分支。