在多人協作的情況下,master通常是穩定的分支.可以再建一些"develop","testing"等名稱的分支.主管master的人做開發的話最好也建立自己的分支.
git branch
列出當前已經checkout出來的分支,當前分支前邊用星號表示.
git branch -a
列出所有本地和遠端的分支
開始一項功能的開發工作時,基於某一分支建立分支。
如基於master建立新分支my
$ git checkout -bmy
master
switched to a new branch "my"
切換到自己的分支my
$ git checkoutmy
本地檔案將會發生變化,使用git log看一下提交的日誌
此時head指標指向my分支中最新的commit id。
同步master到自己的分支(適當的時候)
gitmerge --no-ff
master
合併分支
上一步其實就是合併操作,同樣用法git merge [option] branch_name
列出已合併到當前分支的其它分支:git branch --merged
未合併到當前分支的分支:git branch --no-merged
push
將當前分支提交到關聯的遠端倉庫的對應分支
git pushorigin
my
修改分支名稱:
gitbranch -m
刪除遠端分支:
推送乙個空分支到遠端分支,其實就是刪除遠端分支:git push origin :
在git v1.7.0 之後,可以使用--delete選項刪除遠端分支:git push origin --delete
刪除不存在對應遠端分支的本地分支,比如遠端的master分支:通過git remote show origin
可以看出關聯的遠端分支處於stale(過時)狀態,並提示使用git remote prune
刪除.使用 git remote prune origin 可以將其從本地版本庫中去除。更簡單的方法是使用fetch命令的-p選項,它在fetch之後刪除掉沒有與遠端分支對應的本地分支:git fetch -p
.
切換分支時,如果工作區非clean狀態,有如下幾種處理方式:
add並且commit,再checkout,提交到當前分支
add但不commit,也不stash,直接checkout,然後再commit的話,記錄就在切換分支下面。
其背後的原因:乙個本地的git repo只有乙個工作區和暫存區,但是有多個分支的提交區,而我們的checkout只是將head指標從乙個分支切換到另乙個分支。
在bash命令列提示符中新增git倉庫的當前branch名稱:
function git-branch-name
function git-branch-prompt
ps1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(git-branch-prompt)'$'\n''\$ '
# 其中$'\n'是換行
Git branch 分支與合併分支
十五.git branch 分支 檢視當前有哪些branch bixiaopeng bixiaopengtekimacbook pro xmrobotiumgi tbra nch mast er新建 乙個br anch xm2.x bixi aope ng b ixia open gtek imac...
Git分支操作(Git branch)
標題已經透露了本篇博文的目標 熟悉git的基本分支操作。假定你已經熟悉git的基本操作,如轉殖倉庫,提交 等等。你也需要了解git的基本概念,例如git的branch,commit等。如果你還不熟悉這些,請移步 切換到develop git checkout develop 更新develop gi...
git branch 打分支操作
1 建立分支 git branch dev01 這裡分支名稱為dev01 2 檢視所有分支 git branch or git branch a 列出了所有的分支,包括dev01分支,其中帶 的就是當前分支 3 切換分支 git checkout dev01 4 提交檔案到分支 經過git pull...