Шпаргалка по 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. REMOTE

1.1. Git remote [-v]

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

1.2. Git remote add <alias> <url>

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

1.3. Git remove rm <alias>

1.4. Git clone <url> [name]

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

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

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

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

1.6. Git log origin/master

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

1.7. Git fetch <alias>

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

1.8. Git merge <alias>/<branch>

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

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

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

1.10. Git pull = git fetch + git merge

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

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

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

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

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

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

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

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

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

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

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

3.2. Git add .

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

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

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

3.4. Git commit

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

3.5. Git commit -a (add+commit)

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

3.6.1. https://github.com/github/gitignore

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

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

4.2. Git init

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

4.4. GIT CLONE URL .

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

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

5.1. Git log

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

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

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

5.3. Git status

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

5.4. Git diff

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

5.5. Git diff --staged

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

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

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

5.7. Git diff SHA_COMMIT [file]

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

5.8. Git rm <file>

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

5.9. Git mv file.txt file2.txt

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

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

5.10. Git checkout -- index.html

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

5.11. Git checkout SHA_COMMIT -- index.html

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

5.12. Git reset HEAD file.txt

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

5.13. Git commit --amend

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

5.14. Git revert SHA_COMMIT

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

5.15. Git reset

5.16. Git clean -n

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

5.17. Get clean -f

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

5.18. Git show SHA_COMMIT

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

6. Treeish

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

6.2. HEAD^^ || HEAD~2

6.3. SHA_COMMIT^^

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

7. Branches

7.1. Git branch -a

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

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

7.2. Git branch --merged

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

7.3. Git branch -m old_name new_name

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

7.4. Git branch -d name

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

7.5. Git branch new_feature

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

7.6. Git checkout new_feature

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

7.7. Git checkout -b new_feature

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

7.8. Git diff master..new_branch

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

7.9. MERGE

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

7.9.2. Git merge branch_name

7.9.3. Gir merge --abort

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

7.10. STASH

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

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

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

7.10.4. Git stash save "Comments to stash"

7.10.5. Git stash list

7.10.5.1. List of stashes

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

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

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

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

7.10.8.1. Не удаляет

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