# Шпаргалка по Git'у ## Основные команды * *git init* - создание нового репозитория (создается скрытый файл с расширением .git) * *git status* - показ состояния файлов в рабочей дирректории * *git add "название файла"* - добавление файла в комит * *git commit -m"причина изменений"* - закомитить (сохранить) добавленные файлы с сообщением об изменениях, делается после git add * *git log* - список комитов * *git checkout* - переход к предыдущим версиям (указать 4 символа из log) * *git checkout master* - возврат на самую актуальную версию * *git diff* - разница между двумя коммитами (через пробел указать 4 символа из log двух комитов) * *ctrl+s* - не забывай сохранить изменения перед тем, как делать git add ## Работа с ветками * *git branch* - вывод всех веток, (*) указывает на ту ветку, на которой мы находимся. ### Создание ветки * *git branch (название ветки)* - создание новой ветки * *git branch -d(название ветки)* - удаление ветки, которую мы слили. ### Переход между ветками * *git checkout (название ветки)* - переход между ветками ### Список коммитов по веткам * *git log --graph* - список коммитов по веткам ### Слияние веток * *git merge (название ветки)* - слияние веток. Команда вызывается из той ветки, куда необходимо добавить изменения. ## Работа с удаленным репозиторием Для работы с удаленным репозиторием можно использовать сервис GitHub (https://github.com). ### Копирование удаленного репозитория из GitHub на свой компьютер (в локальный репозиторий) 1. Открываем в VS Code папку 2. На GitHub копируем ссылку на чужой репозиторий 3. *git clone (ссылка)* - копия чужого удаленного репозитория в свой локальный репозиторий. *Не забываем использовать cd (название папки), чтобы переместиться в новую папку с репозиторием.* ### Копирование репозитория на GitHub 1. Создаем на GitHub репозиторий (удаленный) 2. Копируем ссылку на этот репозиторий 3. Выполняем указания, которые предложит GitHub: * git remote add origin (ссылка) * git branch -M main (или master, в зависимости как мы хотим, что называлась главная ветка) * git push-u origin main 4. Вносим изменения в файл на компьюторе (локальный репозиторий) 5. *git push* - перенос (выталкивание) информации из локального на удаленный репозиторий. Для работы с git push * необходимо знать адрес (ссылка) удаленного репозитория * необходимо авторизовать git на внесение изменений в удаленный репозиторий 6. Вносим изменения в файле на GitHub (удаленный репозиторий) 7. *git pull* - забираем (тянем) из удаленного в локальный репозиторий. * git pull не только стягивает информацию, но и делает слияние (merge) ### Внесение изменений в уже созданный кем-то репозиторий (Pullrequest) 1. Заходим в GitHub на интересующий нас аккаунт, в репозиторий. 2. Нажимаем кнопку *fork* и этот репозиторий скопируется к нам в аккаунт. 3. Переходим к нам в аккаунт, копируем ссылку на этот репозиторий 4. *git clone (ссылка)* - копия удаленного репозитория в локальный репозиторий 5. С помощью *cd (название папки)* заходим в нужную папку. * *cd ..* -переход на папку выше 6. *git branch (имя ветки)* - внутри создаем отдельную ветку. 7. Делаем все изменения, которые необходимы в документе. 8. *git push --set* - перенос (вытакливание) внесенных изменений с локального репозитория на удаленный репозиторий в наш аккаунт. 9. Переходим в GitHub, нажимаем *Pull Request*, добавляем информацию в сообщении для владельца репозитория и наших предлагаемых изменениях.