Debugging, Profiling, Code improvement tools
  • Introduction
  • Chapter1: 追蹤問題
    • 1.1.找出錯誤來源
  • Chapter2: 解決問題
    • 2.1.Check list
      • 2.1.1.確認前後條件
  • Chapter3: 錯誤訊息
    • 3.1.python
      • 'charmap' codec can't decode byte 0x8f in position 17: character maps to <undefined>
  • Chapter4:版本管理工具
    • 4.1.Git
      • 4.1.1.Working tree, Index/Cache, Repository and Object
      • 4.1.2.commit
      • 4.1.3.cherry-pick
      • 4.1.4.rebase
    • 4.2.TortoiseGit
      • 4.2.1.bisect
      • 4.4.2.reflog & reset
      • 4.2.3.blame
  • Chapter5: 除錯工具
    • 5.1.Visual studio
      • 5.1.1.輸出debug訊息
      • 5.1.2.中斷點
      • 5.1.3.載入符號, 檢視堆疊
      • 5.1.4.追蹤點
      • 5.1.5.單步執行程式
      • 5.1.6.日誌
      • 5.1.7.靜態程式分析
    • 5.2. WinDbg
      • 5.2.1.安裝WinDbg
      • 5.2.2.設定project及symbol path
      • 5.2.3.分析.dmp file
    • 5.3.API
      • 5.3.1.核心傾印
  • Chapter6: 效能分析工具
    • 6.1.Introduction
    • 6.2.Windows
      • 6.2.1.效能分析指標
      • 6.2.2.Windows Performance Monitor
      • 6.2.3.Process monitor
      • 6.2.4.Windows Performance Toolkit
    • 6.3.C++ project
      • 6.3.1.SMART BEAR AQ Time
    • 6.4.Python project
      • 6.4.1.cProfile, snakeviz
  • Chapter7: 程式碼優化工具
    • 7.1.Python
      • 7.1.1.vulture
Powered by GitBook
On this page

Was this helpful?

  1. Chapter4:版本管理工具
  2. 4.1.Git

4.1.1.Working tree, Index/Cache, Repository and Object

Previous4.1.GitNext4.1.2.commit

Last updated 5 years ago

Was this helpful?

  • Object

    • Git會將物件內容取出, 透過內容產生一組SHA1雜湊值, Git物件有四種: 主要是tree物件以及blob物件

      • 1.tree物件

        • 資料夾的概念, 可以包含 blob 物件的檔名與相關資訊或其他的 tree 物件

      • 2.blob物件

        • 將檔案內容進行 SHA1 雜湊運算後產生的hash id

      • 3.commit物件

        • commit 物件代表著 Git 的一次提交

          • 特定提交版本有哪些 tree 物件

          • 版本提交的時間, 紀錄訊息

          • 通常還會記錄上一層的 commit 物件名稱

      • 4.tag物件

      • tree, blob都位於物件儲存區(objects storage)物件:.git/object目錄底下

      • 透過tree, commit可以關連出blob間的關係

  • Index/Cache

    • Index是物件儲存區(objects storage)與工作目錄(working tree)之間的媒介, git add等操作的目的是將物件加到索引中, git再依據索引的狀態, 決定要把那些檔案提交到儲存庫(Repository)裡

  • Working tree

  • Repository