git branch 分支管理

2022-02-11 03:18:56 字數 1825 閱讀 3156

在多人協作的情況下,master通常是穩定的分支.可以再建一些"develop","testing"等名稱的分支.主管master的人做開發的話最好也建立自己的分支.

git branch列出當前已經checkout出來的分支,當前分支前邊用星號表示.

git branch -a列出所有本地和遠端的分支

開始一項功能的開發工作時,基於某一分支建立分支。

如基於master建立新分支my

$ git checkout -bmymaster

switched to a new branch "my"

切換到自己的分支my

$ git checkoutmy

本地檔案將會發生變化,使用git log看一下提交的日誌

此時head指標指向my分支中最新的commit id。

同步master到自己的分支(適當的時候)

gitmerge --no-ffmaster

合併分支

上一步其實就是合併操作,同樣用法git merge [option] branch_name

列出已合併到當前分支的其它分支:git branch --merged

未合併到當前分支的分支:git branch --no-merged

push

將當前分支提交到關聯的遠端倉庫的對應分支

git pushoriginmy

修改分支名稱:

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...