Git 分支

分支理解
當使用 git commit 進行提交操做時,Git 會先計算每個子目錄的校驗和,而後在Git倉庫中這些校驗和保存爲樹對象。 隨後,Git 便會建立一個提交對象,它除了包含上面提到的那些信息外,還包含指向這個樹對象(項目根目錄)的指針。如此一來,Git就能夠在須要的時候重現這次保存的快照。git

Git對象
Git對象

  • blob對象, 保存文件快照對象
  • 樹對象, 記錄目錄結構和blob索引
  • 提交對象, 包含指向樹對象指針以及全部提交信息

本地分支管理fetch

  • git branch 查看當前本地有多少分支
  • git branch -v 查看每一個本地分支的最後一次提交
  • git branch -vv 查看本地分支的全部跟蹤分支
  • git branch --merged 查看合併到當前分支的分支有哪些
  • git branch' --no-merged 查看未合併到當前分支的分支有哪些
  • git branch branch-name 建立分支
  • git branch -d branch-name 刪除branch-name分支
  • git branch -D branch-name 強制刪除branch-name分支

遠程分支管理指針

  • 遠程跟蹤分支以(remote)/(branch)命名, 它們是遠程分支的本地引用, 表示上次你鏈接遠程倉庫時候分支所處的狀態
  • git ls-remote [remote-name] 獲取遠程應用的完整列表
  • git remote show [remote-name] 顯示遠程分支更多信息
  • git push origin --delete branch-name 刪除遠程分支

分支切換code

  • git checkout branch-name 切換分支
  • git check -b branch-name 建立並切換到新分支上
  • git checkout -b [branch] [remotename]/[branch] 建立一個跟蹤遠程分支的本地分支
  • git checkout --track [remotename]/[branch] 設置本地分支跟蹤遠程分支
  • git branch -u [remotename]/[branch] 設置本地分支跟蹤遠程分支

變基cdn

  • git rebase branch-name 將當前分支變基到branch-name分支上
  • git rebase --onto master server client 取出 client 分支,找出處於 client 分支和 server 分支的共同祖先以後的修改,而後把它們在 master 分支上重演一遍
  • git config --global pull.rebase true 更改git pull默認爲git pull --rebase

其它相關server

  • git fetch remote-name 抓取遠程倉庫有而本地倉庫沒有的數據, 並不合併, 至關於更新跟蹤分支
  • git log --oneline --decorate --graph --all 查看提交歷史, 分支指向以及項目分支分叉狀況
  • git merge branch-namebranch-name合併到當前分支上
  • git push [remote] [branch] 推送分支到遠程倉庫
相關文章
相關標籤/搜索