git 對象,重置和檢出

git對象

    每個git對象主要有三部分組成:類型大小內容

            大小就是指git對象內容的大小。

            內容就是git對象的裏面包含的東西,而這個主要取決於git對象的類型。

            git對象有四種類型:"blob"、"tree"、 "commit" 和"tag"。

           “blob”用來存儲文件數據,通常是一個文件。

           “tree”有點像一個目錄,它管理一些“tree”或是 “blob”(就像文件和子目錄)

           一個“commit”只指向一個"tree",它用來標記項目某一個特定時間點的狀態。

     它包括一些關於時間點的元數據,如時間戳、最近一次提交的作者、指向上次提交

      commits)的指針等等。

            一個“tag”是來標記某一個提交(commit) 的方法。

    git對象中HEAD和master的關係,HEAD表示的某一個提交(通常是最新提交),master代表的是master分支最新提交。當在master分支下時,這兩個顯示的哈希值是一個。可以用git rev-parse master 和git rev-parse HEAD


git重置:

    git的重置主要說的是git reset()。

        git reset 主要是操作master遊標,即改變master指向的commit(master 指向的是當前分支中最新的

    提交)。git reset 是一個很危險的操作,它是用來重置提交。主要中的命令有:

           git reset --hard  commitID ---------這個命令直接把所指定的commitID之前的commit取消了。

           git reset --soft  commitID ------------這個命令直接把所指定的commitID之前的commit退回到暫

    存區。

            git reset --mixed  ---------- 這個命令直接把所指定的commitID之前的commit退回到工作區

     git重置以後的恢復。

          當需要找回被重置的commit時,可以使用git reflog尋找,用git cherry-pick 找回。

     


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