天天看點

git分支操作

基本概念

  • 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上,相當于删除該分支。