Страница 1 из 1
Репозиторий своего проекта
Добавлено: 09 сен 2023, 07:47
ya
Re: Репозиторий своего проекта
Добавлено: 12 сен 2023, 10:33
ya
git init - начинаем версионировать свой код
git status - как гит видит текущее состояние папки и файлов в ней. Файлы имеющие статус Untracked - файлы которые гид видит впервые и после удаления ненужных добавить в репозиторий git add
rm file - удаляем ненужные файлы
git add файл/папка - добавление файла в репозиторий
git commit -m "комментарий к комиту" - коммит репозитория
git diff - покажет изменения в файле символом плюс (то что добавлено, минусом - то что удалено) строки между последним закомиченым изменением, если изменение было сделано
git diff --cached - покажет те изменения которые добавлены между последним коммитом и тем что добавлено
git checkout ./* - откатит изменения на предыдущий коммит (уберёт все изменения к последнему состоянию, которое добавлено в комит и закомичено)
git reset HEAD -- ./файл - уберёт все изменения в указанном файле, подготовленного для коммита
Перемещение по коммитам
Добавлено: 12 сен 2023, 11:15
ya
Перемещение по коммитам
git log отобразит все сделанные коммиты с хэш-кодами
git show хэш-код - отобразит изменения коммита на конкретном хэш-коде
git checkout хэш-код - перейдёт в указанный коммит хэш-кода
git checkout master - вернётся в мастер-ветку
git revert хэш-код - применит обратные операции прошлого коммита, и добавт указанный хэш коммита как последний в ветку коммитов
добавление ответвлений
Добавлено: 12 сен 2023, 11:33
ya
git checkout -b имя_ветки - перейдёт в указанную ветку, и если она не существует, то создаст ветку
git log --graph --all - покажет хэши коммитов всех веток
Слияние коммитов
Добавлено: 12 сен 2023, 11:42
ya
git merge master - вольёт мастер-ветку в текущую ветку. Саму мастер-ветку не затронет, если текущая не является таковой
Если ничего не поломалось в результате вышеуказанного вливания, то переходим в мастер-ветку и заливаем свою ветку в мастера
git checkout master - перейдёт в мастер-ветку
git merge имя_ветки - зальёт изменения указанной ветки в мастер-ветку
Если ветка (после вливания в мастер) больше не нужна, то её можно закрыть и сдавать проект
git branch -d имя_ветки
Колоборация - загрузка своего кода на git
Добавлено: 12 сен 2023, 12:03
ya
Создаём репозиторий на git
Если есть локальный репозиторий, то создаём удалённый репозиторий
git remote add origin
https://github.com/логин/имя_созданного_репозитория.git
git push -u origin master - создаст мастер на удалённом репозитории и загрузит локальное на удалёнку в мастер
git pull - синхронизирует удалённые коммиты на локальные
Решение конфликтов слияния
Добавлено: 12 сен 2023, 12:31
ya
Для решения конфликтов слияния можно использовать
https://www.sublimemerge.com
Просмотр всех тулзов для мёржа в системе:
git mergetool --tool-help - покажет список утилит, поддерживаемых гитом для слияния
Для использования smerge нужна версия гита выше или равной 2.28
git --version
Устанавливаем тулзу слияния (мёржа) в гит:
git config --global merge.tool smerge
Для просмотра всех значений конфига гита можно использовать:
git config --global --list
git config --global --edit - для редактирования конфига
Прописываем путь к smerge, потому что по-умолчанию гит не нашёл этот путь:
git config --global mergetool.smerge.path "путь в /bin/smerge"
Win
Код: Выделить всё
git config --global mergetool.smerge.path "C:\Program Files\Sublime Merge\smerge.exe"
Mac
Код: Выделить всё
git config --global mergetool.smerge.path "/Application/Sublime Merge.app/Contents/SharedSupport/bin/smerge"
Теперь можно запустить мёрдж-тул:
git mergetool