GitPro
  • Introduction
  • 開始
    • 關於版本控制
    • Git 的簡史
    • Git 基礎要點
    • 安裝Git
    • 初次設定Git
    • 取得說明文件
    • 總結
  • Git 基礎
    • 取得Git儲存庫
    • 提交更新到儲存庫
    • 檢視提交的歷史記錄
    • 復原
    • 與遠端協同工作
    • 標籤
    • 提示和技巧
    • 總結
  • Git 分支
    • 何謂分支
    • 分支的新建與合併
    • 分支的管理
    • 利用分支進行開發的工作流程
    • 遠端分支
    • 分支的衍合
    • 小結
  • 伺服器上的 Git
    • 協議
    • 在伺服器上部署 Git
    • 生成 SSH 公開金鑰
    • 架設伺服器
    • 公共訪問
    • GitWeb
    • Gitosis
    • Gitolite
    • Git 守護進程
    • Git 託管服務
    • 小結
  • 分散式 Git
    • 分散式工作流程
    • 為專案作貢獻
    • 專案的管理
    • 小結
  • Git 工具
    • 選擇修訂版本
    • 互動式暫存
    • 儲藏 (Stashing)
    • 重寫歷史
    • 使用 Git 做 Debug
    • 子模組 (Submodules)
    • 子樹合併
    • 總結
  • Git 客製化
    • Git 配置
    • Git 屬性
    • Git Hooks
    • Git 強制策略實例
    • 總結
  • Git 與其他系統
    • Git 與 Subversion
    • 遷移到 Git
    • 總結
  • Git 內部原理
    • 底層命令 (Plumbing) 和高層命令 (Porcelain)
    • Git 物件
    • Git References
    • Packfiles
    • The Refspec
    • 傳輸協議
    • 維護及資料復原
    • 總結
Powered by GitBook
On this page

Was this helpful?

  1. Git 分支

分支的管理

到目前為止,你已經學會了如何創建、合併和刪除分支。除此之外,我們還需要學習如何管理分支,在日後的常規工作中會經常用到下面介紹的管理命令。

git branch 命令不僅僅能創建和刪除分支,如果不加任何參數,它會給出當前所有分支的清單:

$ git branch
  iss53
* master
  testing

注意看 master 分支前的 * 字元:它表示當前所在的分支。也就是說,如果現在提交更新,master 分支將隨著開發進度前移。若要查看各個分支最後一個提交物件的資訊,運行 git branch -v:

$ git branch -v
  iss53   93b412c fix javascript issue
* master  7a98805 Merge branch 'iss53'
  testing 782fd34 add scott to the author list in the readmes

要從該清單中篩選出你已經(或尚未)與當前分支合併的分支,可以用 --merged 和 --no-merged 選項(Git 1.5.6 以上版本)。比如用 git branch --merged 查看哪些分支已被併入當前分支(譯注:也就是說哪些分支是當前分支的直接上游。):

$ git branch --merged
  iss53
* master

之前我們已經合併了 iss53,所以在這裡會看到它。一般來說,清單中沒有 * 的分支通常都可以用 git branch -d 來刪掉。原因很簡單,既然已經把它們所包含的工作整合到了其他分支,刪掉也不會損失什麼。

另外可以用 git branch --no-merged 查看尚未合併的工作:

$ git branch --no-merged
  testing

它會顯示還未合併進來的分支。由於這些分支中還包含著尚未合併進來的工作成果,所以簡單地用 git branch -d 刪除該分支會提示錯誤,因為那樣做會丟失資料:

$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.

不過,如果你確實想要刪除該分支上的改動,可以用大寫的刪除選項 -D 強制執行,就像上面提示資訊中給出的那樣。

Previous分支的新建與合併Next利用分支進行開發的工作流程

Last updated 5 years ago

Was this helpful?