分支理解
當使用 git commit
進行提交操做時,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-name
將branch-name
合併到當前分支上git push [remote] [branch]
推送分支到遠程倉庫