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

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

1. Treeish

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

1.2. HEAD^^ || HEAD~2

1.3. SHA_COMMIT^^

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

2. REMOTE

2.1. Git remote [-v]

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

2.2. Git remote add <alias> <url>

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

2.3. Git remove rm <alias>

2.4. Git clone <url> [name]

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

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

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

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

2.6. Git log origin/master

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

2.7. Git fetch <alias>

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

2.8. Git merge <alias>/<branch>

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

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

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

2.10. Git pull = git fetch + git merge

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

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

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

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

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

3. Branches

3.1. Git branch -a

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

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

3.2. Git branch --merged

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

3.3. Git branch -m old_name new_name

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

3.4. Git branch -d name

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

3.5. Git branch new_feature

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

3.6. Git checkout new_feature

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

3.7. Git checkout -b new_feature

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

3.8. Git diff master..new_branch

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

3.9. MERGE

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

3.9.2. Git merge branch_name

3.9.3. Gir merge --abort

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

3.10. STASH

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

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

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

3.10.4. Git stash save "Comments to stash"

3.10.5. Git stash list

3.10.5.1. List of stashes

3.10.6. Git stash show stash@{0}

3.10.7. Git stash pop stash@{0}

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

3.10.8. Git stash apply stash@{0}

3.10.8.1. Не удаляет

3.10.9. Git stash drop stash@{0}

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

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

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

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

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

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

5.2. Git init

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

5.4. GIT CLONE URL .

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

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

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

6.2. Git add .

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

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

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

6.4. Git commit

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

6.5. Git commit -a (add+commit)

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

6.6.1. https://github.com/github/gitignore

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

7.1. Git log

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

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

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

7.3. Git status

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

7.4. Git diff

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

7.5. Git diff --staged

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

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

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

7.7. Git diff SHA_COMMIT [file]

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

7.8. Git rm <file>

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

7.9. Git mv file.txt file2.txt

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

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

7.10. Git checkout -- index.html

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

7.11. Git checkout SHA_COMMIT -- index.html

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

7.12. Git reset HEAD file.txt

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

7.13. Git commit --amend

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

7.14. Git revert SHA_COMMIT

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

7.15. Git reset

7.16. Git clean -n

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

7.17. Get clean -f

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

7.18. Git show SHA_COMMIT

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