$ git branch develop$ git checkout developgit
或者安全
$ git checkout -b develop
git checkout命令加上-b參數表示建立並切換。git branch或者(git branch -a)後面不跟分支名時指列出全部分支,當前分支前面加*。編輯器
$ git branch
git merge命令用於合併指定分支到當前分支,若是當前分支是master分支,git merge develop指將develop分支合併到master分支。ip
$ git merge develop
刪除本地develop分支,不能在當前分支執行刪除當前分支的操做。開發
$ git branch -d develop
衝突能夠說是兩個分支的衝突,產生的緣由是兩個已經提交的分支的相同文件相同位置的的不一樣操做進行了合併rem
多人協做開發的時候,若是出現了你沒有改過的文件跟你衝突了,必定要去找到當事者,說清楚是如何衝突,而後協商解決,修文件,確保沒問題後在從新add、commit、push。同步
通常代碼編輯器都集成了git,如WebStrom、VsCode,能夠很直觀的查看衝突代碼,並進行代碼合併。工作流
$ git rebase -i [startpoint] [endpoint]
其中-i的意思是--interactive,即彈出交互式的界面讓用戶編輯完成合並操做,[startpoint] [endpoint]則指定了一個編輯區間,若是不指定[endpoint],則該區間的終點默認是當前分支HEAD所指向的commit(注:該區間指定的是一個前開後閉的區間)。若是不指定分支默認操做當前分支it
$ git rebase [startpoint] [endpoint] --onto [branchName]
優勢io
缺點
git rebase --abort會回到rebase操做以前的狀態,以前的提交的不會丟棄。
$ git rebase --abort
git rebase --skip則會將引發衝突的commits丟棄掉。
$ git rebase --skip
git rebase --continue用於修復衝突,提示開發者,一步一步地有沒有解決衝突,fix conflicts and then run "git rebase --continue"。
$ git rebase --continue
本地倉庫和遠程倉庫,Git自動把本地的master分支和遠程的master分支對應起來了,而且,遠程倉庫的默認名稱是origin。
查看遠程庫(git remote)
$ git remote
查看遠程庫詳細信息
$ git remote -v
往遠程倉庫推送代碼,須選擇本地分支,下面指往develop分支推送代碼
$ git remote origin develop
只有須要協同開發的才須要往遠程倉庫推送代碼
建立標籤 (git tag <tagname>)
$ git tag v1.0
查看標籤(git tag)
$ git tag
默認標籤是打在當前分支最新提交的commit上的,若是要打在歷史的commit上,找到歷史提交的commit id(git tag v0.9 <commit id>)
git tag v0.9 f52c633
查看標籤信息(git show <tagname>)
$ git show v0.9
建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字
$ git tag -a v0.1 -m "version 0.1 released" 1094adb