Skip to content

Instantly share code, notes, and snippets.

@KostenkoA
Last active October 19, 2019 21:19
Show Gist options
  • Save KostenkoA/305f5a2251d2579816185b1166196968 to your computer and use it in GitHub Desktop.
Save KostenkoA/305f5a2251d2579816185b1166196968 to your computer and use it in GitHub Desktop.

Git

Содержание документа

Протокол SSH

SSH - сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования.

$ sudo apt-get install ssh - утсановка ssh, в метапакете SSH содержится как клиент, так и сервер, но при этом, скорее всего, будет установлен только сервер, т. к. клиент уже есть в Ubuntu по умолчанию.

$ sudo service ssh stop|start|restart - настройка, при установке SSH-сервер автоматически прописывается в автозагрузку

$ ssh-keygen -t rsa -b 4096 - генерация пары ключей

$ ~/.ssh - директория хранения ключей

$ pbcopy < ~/.ssh/id_rsa.pub - копирование публичного ключа в буфер обмена for mac

Git keys - добавляем ключ в настройки гит профиля

Git stash

$ git stash - прятанье (тайник), поглощает грязное состояние рабочего каталога, то есть изменённые отслеживаемые файлы и изменения в индексе, и сохраняет их в стек незавершённых изменений, которые вы потом в любое время можете снова применить.

$ git stash list - просмотр, что у вас есть припрятанного.

$ git stash apply - применить последнюю спрятанную работу.

$ git stash apply stash@{2} - применить спрятанную работу по имени.

$ git stash drop stash@{0} - удаляет спрятанную работу по имени.

$ git stash pop stash@{0} - применяет и сразу удаляет работу по имени.

Git cherry pick

$ git cherry-pick <commit-hash> - используется для того чтобы взять изменения, внесённые каким-либо коммитом, и применить их заново в виде нового коммита наверх текущей ветки.

Git rebase

$ git checkout feature - переключаем на ветку, которую нужно слить с мастером

$ git rebase master - берем все изменения, которые попали в коммиты на master, и повторяем их на ветке feature.

$ git rebase --abort - отменить rebase

$ git rebase --continue - продожить процесс rebase, после разрешения всех конфликтов

Полезные ссылки

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment