User Tools

Site Tools


projects:progit:inspection

This is an old revision of the document!


Inspecting Git repository

Te Three Main States

State Location Description Method of inspection
Commited .git directory Stored in DB git log
Modified Working directory Changed git status git diff
Staged Staging area (.git/index) Changed and marked for next commit to the DB git status

Staging area has many names

Staging area has many names

  • Index
  • Cache
  • Directory cache
  • Current directory cache
  • Staging area
  • Staged files

Specifying revision

There are many ways to distinguish a specific commit from Git repository.

  1. SHA (hash) - The SHA-1 algorithm is used to create a unique 40-byte hexadecimal string in many corners of git. The SHA (hash-object cat-file)
  2. (refnames, refs)
    1. Branch reference (heads) - Branches in Git are nothing more than pointers to the commit. Branch reference is a SHA value of the most recent commit and it is updated with each new commit added. (show rev-parse show-ref)
    2. Tag reference - Similar to Branch reference but does not change with new commits. (git describe)
    3. HEAD (@) - Note the capital letters. Points to the current commit. (git describe)
    4. Other like FETCH_HEAD, MERGE_HEAD, CHERRY_PICK_HEAD, ORIG_HEAD
    5. <refname>@{<date>} - For example master@{yesterday}, HEAD@{5 minutes ago}. Note: Date parsing is undocumented but the parser code can be accessed on github.

Diff

Debugging with Git

blame
grep
bisect

References

projects/progit/inspection.1454799893.txt.gz · Last modified: 2016/02/07 00:04 by mkucia