Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

git-cheat-sheet

Репозиторий со шпаргалкой по GIT

Хеш - идентификатор коммита

  • Хэш коммита - идентификатор коммита, полученный с помощью алгоритма SHA-1.
  • Хэш обладает свойством: если хоть что-то в исходных данных поменяется, хеш тоже изменится.
  • Git хранит таблицу соответствий хеш → информация о коммите в служебных файлах .git.

Команда git log

После вызова git log появляется список коммитов с их описанием.

img.png

Вот из каких элементов состоит описание:

  1. Строка из цифр и латинских букв после слова commit — это уже знакомый вам хеш коммита.
  2. Author — имя автора и его электронная почта.
  3. Date — дата и время создания коммита.
  4. Сообщение к коммиту.

Также есть cокращённый лог git log --oneline - список коммитов с описанием, содержит только первые несколько символов хеша и комментарии. Вывод будет примерно таким:

img_1.png


HEAD - указатель на последний (самый новый) коммит

Когда вы делаете коммит, Git обновляет refs/heads/master (служебный файл) — записывает в него хеш последнего коммита. Получается, что HEAD тоже обновляется, так как ссылается на refs/heads/master.

При работе с Git указатель HEAD используется часто, вместо хеша последнего коммита можно просто написать слово HEAD.


Описание статусов файлов

stateDiagram-v2
    [*] --> Untracked
    Untracked --> Staged: git add
    Staged --> Modified: git reset HEAD или изменения после add
    Modified --> Staged: git add
    Staged --> Committed: git commit
    Committed --> Modified: редактирование файла
    Modified --> Untracked: git rm --cached (если файл удалён из индекса)
    Staged --> Untracked: git rm --cached + изменения (редко, но возможно)
    Committed --> Staged: изменения + git add (после нового изменения)
    Untracked --> [*]: файл удалён с диска (вне системы)

    state "Untracked" as Untracked
    state "Modified" as Modified
    state "Staged" as Staged
    state "Committed" as Committed

    note right of Untracked
      Файл существует в рабочей директории,
      но не отслеживается Git'ом
    end note

    note right of Modified
      Файл изменён по сравнению с последним коммитом,
      но изменения ещё не добавлены в индекс
    end note

    note right of Staged
      Изменения файла зафиксированы в индексе (staging area),
      готовы к коммиту
    end note

    note right of Committed
      Файл зафиксирован в истории репозитория
    end note
Loading

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors