Git命令本質

總結一下

update

fetch操作的本質是更新repo所指定遠程分支的頭指針(server->refs/remotes/xxx/)

merge操作的本質是合併當前分支和指定的頭指針(refs/remotes/xxx->refs/heads)

pull操作的本質是fetch + merge

commit

commit的本質是修改了當前分支的頭指針(refs/heads)

push操作本質是提交當前分支頭指針到server,順便也修改了本地存儲的server頭指針(refs/remotes/xxx)

checkout

複製本地分支的本質是拷貝了refs/heads/下的一個頭指針

push本地分支到server的本質是把這個頭指針上傳服務器,順便拷貝了本地存儲的server頭指針(refs/remotes/xxx)

tracking遠程分支的本質是把refs/remotes/下的指針拷貝到了refs/heads下

注:以上過程都沒有涉及數據流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章