開發新功能或者修復bug時一般會用到分支,既不影響別人的工作,也能讓自己的工作實現小步提交,還能保證主分支clean。
檢視當前分支git branch
git branch
命令會列出所有分支,當前分支前面會標乙個*
號。
建立分支git branch
切換到master
分支:git checkout master
是分支的名字
切換分支git checkout
建立並切換分支git checkout -b
git checkout
命令加上-b
引數表示建立並切換,相當於以下兩條命令:
git branch dev
git checkout dev
建立遠端分支:git push --set-upstream origin
(這條命令不用記,git push就行,git會提示你push到遠端需要的命令)
合併分支到當前分支git merge
git merge
命令用於合併指定分支到當前分支。
將dev
分支合併到master
分支(注意此處要先切換到master
分支):git merge dev
刪除分支git branch -d
刪除dev
分支git branch -d dev
刪除後最好再檢視一下分支git branch
刪除遠端分支git push origin --delete
修改分支名稱
本地,需要修改名稱的分支不是當前分支:
git branch -m oldname newname
如果是當前分支改名字:
git branch -m newname
遠端分支重新命名
如果修改遠端分支,只需要將本地分支重新命名為新分支名稱,然後刪除遠端分支,再把本地分支上傳就可以了
檢視分支合併圖git log --graph
可能會遇到這種情況:正在dev分支上開發,工作進行到一半也沒辦法push,此刻需要修改一處bug,如何解決?
git還提供了乙個stash
功能,可以把當前工作現場「儲藏」起來,等以後恢復現場後繼續工作:
git stash
之後再用git status
檢視工作區,就是clean的(除非有 沒有被git管理的檔案),此刻就可以建立新的分支來修復bug.
首先要確定需要在哪個分支上修復bug. 假定需要在master分支上修復bug,就在master分支上建立臨時分支:
git checkout master
git checkout -b issue-01
修復bug後,提交修改,(這裡的提交只是commit,不是push)換回master分支,完成合併,刪除issue-01分支:
git merge --no-ff -m "merged bug fix 101" issue-01
完成!是時候回到dev分支繼續幹活了:git checkout dev
此時看一下工作區仍然是clean:git status
用git stash list
命令看一下:
git stash list
工作現場還在,git把stash內容存在某個地方了,但是需要恢復一下,有兩個辦法:
用git stash pop
,恢復的同時把stash內容也刪了
恢復後再用git stash list
檢視,就看不到任何stash內容了.
清空stash中的內容:git stash clear
推送分支git push origin
假如現在要在dev
分支上開發,就必須建立遠端origin
的dev
分支到本地,於是用這個命令建立本地dev
分支:
git checkout -b dev origin/dev
建立後就可以時不時的把dev分支push到遠端。
如果遇到push失敗,有衝突的話,先git pull
.(但是講道理,我覺得多人協作情況下,每次push之前應該先pull,解決完衝突再push)
之後再git pull
,然後再push.
檢視遠端庫資訊:git remote -v
git 分支管理
一 遠端倉庫有master和dev分支 1.轉殖 git clone 這個git路徑是無效的,示例而已 2.檢視所有分支 git branch all 預設有了dev和master分支,所以會看到如下三個分支 master 本地主分支 origin master 遠端主分支 origin dev 遠...
git分支管理
1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端倉庫 git remote rm name 拉取遠端倉庫 git pull remotename localbranchname ...
Git分支管理
1.檢視分支 檢視本地倉庫所有分支 git branch v1.8.0.local v1.8.1 v1.8.2 master 2.檢視本地和遠端倉庫所有分支 git branch a master remotes origin head origin master remotes origin v1...