Шпаргалка по Git - ruslan.cc

Get Started. It's Free
or sign up with your email address
Rocket clouds
Шпаргалка по Git - ruslan.cc by Mind Map: Шпаргалка по Git - ruslan.cc

1. Порядок работы

1.1. Делаем изменения

1.2. Git add .

1.2.1. Берет все изменения текущей директории

1.2.2. Вместо точки - можно указать файл

1.3. Git игнорирует пустые директории! Класть в них файл .gitkeep

1.4. Git commit

1.4.1. Комментируем изменения и добавляем в репо

1.5. Git commit -a (add+commit)

1.6. .gitignore - в корне для файлов, которые надо игнорировать. Действуют regexp

1.6.1. https://github.com/github/gitignore

2. Отслеживание новой директории

2.1. Перейти в нее

2.2. Git init

2.3. Для удаления - удалить папку .git

2.4. GIT CLONE URL .

2.4.1. Клонирует репо из урла в текущую папку

3. Общие команды

3.1. Git log

3.1.1. Показывает последние коммиты

3.2. Git log --oneline --graph --all --decorate

3.2.1. украшаем лог

3.3. Git status

3.3.1. Есть ли новые изменения, не добавленные в коммиты?

3.4. Git diff

3.4.1. Показывает внесенные изменения, которые не были добавлены в репо (только в рабочей дирректории) - проверяются строки

3.5. Git diff --staged

3.5.1. Внесенные изменения в stage

3.6. Git diff --color-words <file>

3.6.1. Точное указание изменений - кусок строки

3.7. Git diff SHA_COMMIT [file]

3.7.1. Показывает отличия файлов текущего коммита от указанного

3.8. Git rm <file>

3.8.1. Удалить файл из рабочей дирректории

3.9. Git mv file.txt file2.txt

3.9.1. Переименование, перемещение

3.9.2. Можно удалить через проводник, потом rm + add - git поймет, что мы переименовали

3.10. Git checkout -- index.html

3.10.1. Восстановить файл или дир из репо

3.11. Git checkout SHA_COMMIT -- index.html

3.11.1. Восстановить файл из прошлого коммита

3.12. Git reset HEAD file.txt

3.12.1. Сбросить git add file.txt

3.13. Git commit --amend

3.13.1. Поменять сообщение последнего коммита

3.14. Git revert SHA_COMMIT

3.14.1. Отменить все действия этого коммита и создать новый коммит

3.15. Git reset

3.16. Git clean -n

3.16.1. Покажет какие файлы можно удалить перед коммитом (temp)

3.17. Get clean -f

3.17.1. Удалит файлы! Удаляет файлы, которым мы не сделали Git add

3.18. Git show SHA_COMMIT

3.18.1. Показывает diff, сделанный в коммите

4. Treeish

4.1. относительные ссылки на коммиты

4.2. HEAD^^ || HEAD~2

4.3. SHA_COMMIT^^

4.4. Git ls-tree HEAD || Git ls-tree HEAD^

5. Branches

5.1. Git branch -a

5.1.1. Показывает существующие бранчи

5.1.2. Звездочка показывает где мы сейчас

5.2. Git branch --merged

5.2.1. Показывает все ветви, которые содержат коммиты предыдущих ветвей

5.3. Git branch -m old_name new_name

5.3.1. Переименование ветви

5.4. Git branch -d name

5.4.1. Удалить ветвь

5.5. Git branch new_feature

5.5.1. Создаем новую ветвь

5.6. Git checkout new_feature

5.6.1. Переключаем ХЕД на ветвь

5.7. Git checkout -b new_feature

5.7.1. Создаем и переключаемся на ветвь!

5.8. Git diff master..new_branch

5.8.1. Сравнить бренчи

5.9. MERGE

5.9.1. Переключиться на ветвь, в которую будем делать merge

5.9.2. Git merge branch_name

5.9.3. Gir merge --abort

5.9.3.1. Отменить при конфликтах

5.10. STASH

5.10.1. Место, где мы можем хранить файлы без коммитов

5.10.2. Можно применять, когда мы хотим переключить ветку без коммита

5.10.3. Stash можно применять в любой ветви без коммита

5.10.4. Git stash save "Comments to stash"

5.10.5. Git stash list

5.10.5.1. List of stashes

5.10.6. Git stash show [email protected]{0}

5.10.7. Git stash pop [email protected]{0}

5.10.7.1. Применяет сташ к текущей ветке и удаляет его

5.10.8. Git stash apply [email protected]{0}

5.10.8.1. Не удаляет

5.10.9. Git stash drop [email protected]{0}

6. REMOTE

6.1. Git remote [-v]

6.1.1. Показывает список подключенных серверов

6.2. Git remote add <alias> <url>

6.2.1. alias по умолчанию - origin

6.3. Git remove rm <alias>

6.4. Git clone <url> [name]

6.4.1. Склонировать в текущую папку

6.5. Git push [-u] <alias> <branch_name_local>

6.5.1. Если трекинг - просто Git push

6.5.2. Трекинг ставим при помощи -u

6.6. Git log origin/master

6.6.1. Обращение к remote репо

6.7. Git fetch <alias>

6.7.1. Получает сведения о ветке с гитхаба

6.8. Git merge <alias>/<branch>

6.8.1. Скопирует то, что получили в fetch в текущую локальную ветвь

6.9. Git checkout -b <new_local_branch> <alias>/<remote_branch>

6.9.1. Скопирует новую полученную ветку из fetch в новую локальную ветку

6.10. Git pull = git fetch + git merge

6.10.1. Если возникают ошибки - применять отдельно

6.11. Git push <alias> --delete <branch_name>

6.11.1. Удаляет ветвь на удаленном сервере

6.12. git config remote.<alias>.url https://you:[email protected]/you/example.git

6.12.1. Если хотим закешировать пароль

7. Первоначальная настройка

7.1. git config --global user.name "John Doe"

7.2. git config --global user.email [email protected]

7.3. git config --global core.editor "notepad.exe"