Git命令本質

2021-10-01 01:26:41 字數 594 閱讀 3748

總結一下

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

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

pull操作的本質是fetch + merge

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

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

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

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

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

注:以上過程都沒有涉及資料流。

shell命令的本質

一般來說,shell命令分為兩種,一種是內建的命令,一種是外部命令。1 內建命令 shell自帶的命令叫做shell的內建命令,在內部是通過函式來實現的。當啟動shell之後,這些命令所對應的函式 就會被載入到記憶體中,因為這些命令是被直接載入到記憶體中,所以shell的內建命令在執行的時候是非常快...

git 命令 git命令入門

1.本地使用 首次使用,需要進行全域性配置 git config global user.name 使用者名稱 git config global user.email 郵箱位址 git常用命令 git倉庫初始化 git init 新增到快取區 git add 檔名 新增當前目錄到快取區 git a...

玩轉GIT之看清 git stash 的本質

開發經驗 1 當你新建檔案修改了 如果沒有git add那麼你用git stash是不能儲存修改到暫存區的,但是如果你沒有新建檔案,只是在原有檔案裡進行修改,那麼是可以在沒有git add的情況下儲存到修改到暫存區的。下面是開發中最多的用法 沒有之一 正擼a專案的時候,被拉去做b專案,這個時候 st...