Skip to content

Latest commit

 

History

History
137 lines (114 loc) · 5.44 KB

git.md

File metadata and controls

137 lines (114 loc) · 5.44 KB

Начало работы с Git

Скачать, установить и почитать документацию можно на сайте https://git-scm.com

Дальнейшие действия будут производиться на примере работы с командной строкой.

Всегда перед любыми изменениями запрашиваем последнюю версию с сервера git pull

Переходим в папку, где у нас локально будут храниться репозитории (код проекта)

cd ./source/repos/

В Windows по умолчанию создаётся вот такая папка в корневой папке пользователя

Клонируем репозиторий к себе в локальную папку

git clone https://<git_link>/<project_name>.git

Если на этом этапе получаем ошибку SSL сертификата, то ищем решение в заметках

Переходим в папку с названием нашего репозитория (проекта)

cd ./<project_name>

Переключаемся на нужную нам ветку (например, DEV - ветка разработки)

git checkout DEV

Получаем последнюю версию изменений

git pull

Создаём свою собственную ветку, в которой будем вести разработку

git checkout -b <branch_name>

Вносим изменения, создаём новые файлы, делаем доработки и т.п.

Проверяем статус нашей ветки, покажет все изменения

git status

Получаем последнюю версию изменений

git pull

Если разработка ведётся в команде, то лучше получать послдение изменения с ключом --rebase. Так мы избегаем запутывания сделанных изменений в ветке.

 git pull --rebase

Выбираем изменения для фиксации (коммита)

Конкретные файлы или папки

git add <path or file name>

или все изменения

git add -A

Делаем коммит (фиксацию изменений) с комментарием

git commit -m "комментарий (50 символов)"

Если ошиблись в комменте, то можно исправить

git commit --amend -m "новый комментарий (50 символов)"

Отправляем изменения на сервер в текущую ветку

git push

или

git push origin

Если разработка ведётся длительное время и в родительнскую ветку уже внесены зменения другими разработчика, то для избежания мерж конфликтов и получения этих изменений в свою ветку можно произвести перебазирование ветки

Переключаеся на свою ветку

git checkout <target-branch-name>

Производим ребейз из родительской ветки (или из которой хотим получить изменения)

git rebase <source-branch-name>

Получим сообщение об успешном перебазировании: Successfully rebased and updated
После чего проверяем статус изменений

git status

- где скорее всего увидим сообщение о том, что наша локальная версия ветки отличается от нашей же удалённой ветки (origin-<target-branch-name>). И подсказку, что для устранения расхождений необходимо использовать команду git push.


Производим слияние нашей ветки разработки с основной (родительской) веткой

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

git checkout <target-branch-name>

Получаем последнюю версию изменений

git pull

Делаем слияние из нашей ветки в выбранную ветку

git merge <yours-branch-name>

Удаление ветки

После слияния ветку можно удалить.

Удаление локальной ветки, если произведён merge изменений из этой ветки (--delete)

git branch -d <yours-branch-name> 

Удаление локальной ветки без каких либо проверок (--delete --force)

git branch -D <yours-branch-name> 

Удаление ветки из удалённого репозитория

git push <remote-repository-name> --delete <yours-branch-name> 

Пример: git push origin --delete DEV