Мануал по работе с GIT
Установка Git
При установке выбираем «Использовать Git из командной строки» (Use Git from... the Command Prompt).
Стартовые настройки
Откройте терминал и выполните команду:
В ответе увидите сообщение:
git version 2.25.1 #версия вашего GIT
Основные данные о вашем профиле хранятся в файле .gitconfig, чтобы другие разработчики понимали с кем они работают внесети туда данные.
Для этого выполните следующие команды:
git config --global user.name "YouNikName" #напишите в кавычки свой ник или имя
git config --global user.email youmail@youmail.com #напишите свой e-mail
Проверяем, что получилось:
git config --list
В вывводе увидите свои данные внесенные в конфиг GIT.
Создание нового локального репозитория
GIT хранит свои файлы и историю прямо в папке проекта. Чтобы создать новый репозиторий, нам нужно создать директорию с проектом зайти в папку нашего проекта и выполнить команду init. В этой конкретной папке GIT создаст скрытую директорию .git, где будет храниться история репозитория и настройки.
Выполните следующие команды:
mkdir Desktop/git_project/
cd Desktop/git_project/
git init
Командная строка вернет примерно такой результат:
Initialized empty Git repository in /home/user/Desktop/git_project/.git/
Ваши файлы в GIT могут находится в одном из четырёх состояний:
- неотслеживаемый ,
- добавленный в индекс,
- изменённый,
- закоммиченный.
Изначально файлы находящиеся в вашем репозитории находятся в состоянии "неотслеживаемый", чтобы GIT стал учитывать изменения в файле его нужно добавить в индекс и он меняет состояние на "добавленный в индекс", если на этом этапе внести в него изменения он поменяет статус на "изменённый", для того чтобы сохранить изменения и была возможность к ним вернуться мы сохранем их коммитом и он переходит в состояние "закоммиченный".
Создание нового удаленного репозитория
После создания локального репозитория нам нужно создать удаленный репозиторий на GitHub с которым мы будем работать. Есть два способа, как вы можете создать репозиторий в своем аккаунте на GitHub:
- Вы заходите в свой аккаунт и создаете новый репозиторий, довольно простая процедура, которую не вижу смысла описывать.
- Создание форка основного репозитория с которым вы собираетесь работать и последующаю отправка туда pull request (функция Github, позволяющая вносить изменения в ветку из других веток или репозиториев). В данном мануале будем использовать именно этот вариант.
Выполните следующие шаги:
- Зайдите на основной репозиторий https://github.com/freecode-academy/freecode.academy
- В правой верхней части страницы есть три кнопки Watch, Star, Fork. Вам нужно нажать кнопку Fork в вашем аккаунте появится новый репозиторий.
- Склонируйте ваш репозиторий в локальный репозиторий, для этого выполните следующие шаги в командной строке:
cd Desktop/git_project/ #перейдите в папку вашего проекта
git clone git@github.com:YouName/YouFork.git #в команду git clone вставьте ссылку вашего форка (ссылка находиться в вашем репозитории зеленая кнопка Code)
После клонирования на компьютере появится папка с репозиторием.
Определение состояния
Полезна команда git status позволяет вам определить в каком состоянии вы находитесь в любой непонятной ситуации вызывайте git status:
В терминале выполните следующую команду:
git status
Если нет изменений вывод будет примерно такой:
На ветке Master
Ваша ветка обновлена в соответствии с «origin/Master».
нечего коммитить, нет изменений в рабочем каталоге
Если есть изменения вывод будет примерно такой:
На ветке master
Ваша ветка обновлена в соответствии с «origin/master».
Неотслеживаемые файлы:
(используйте «git add <файл>…», чтобы добавить в то, что будет включено в коммит)
src/GlobalStyle.ts
ничего не добавлено в коммит, но есть неотслеживаемые файлы (используйте «git add», чтобы отслеживать их)
Обычная отправка коммитов в ваш удаленный репозиторий
Если вы изменили в файлы в проекте и хотите отправить сохраненные изменения в свой репозиторий на GitHub.
Вам нужно выполнить следующие команды:
git add . # добавляем в индекс все измененные файлы
git commit -m "My first commit" # отправляем коммит и пишем название вашего коммита
git push # отправляем изменения в удаленный репозиторий
Продвинутая отправка коммитов в удаленный репозиторий
Название "продвинутый" будет описывать алгоритм отправки измененний в основной репозиторий из которого вы делали fork для того чтобы ваши изменения могли внести в основной репозиторий. Здесь мы используем имменно такой алгоритм отправки коммитов перед началом работой с задачей вам нужно ознокомиться с этим алгоритмом и предерживаться его.
1. Перед началом выполнения задачи вам нужно переключиться в ветку мастер и сделать git pull с основного проекта для того чтобы обновить коммиты, которые появились на основном проекте.
Выполните следующие команды:
git branch
В моем случае вывод такой:
* LineBreak
master
Я нахожусь в ветке LineBreak
Чтобы переключиться на master выполняем следующую команду:
git checkout master
В моем случае вывод такой:
Переключено на ветку «master»
Ваша ветка обновлена в соответствии с «origin/master».
Далее выполняем следующую команду:
git pull git@github.com:freecode-academy/freecode.academy.git master #загружаем все изменения с основного проекта
2. Создаем новую ветку.
Выполните следующую команду:
git checkout -b YouBranch #создаем новую ветку и заходим в нее (YouBranch меняем на ваше название)
3. Добовляем измения в индекс, коммитим и делаем пуш в гитхаб.
git add . # добавляем в индекс все измененные файлы
git commit -m "My first commit" # отправляем коммит и пишем название вашего коммита
git push origin branchname # отправляем изменения в удаленный репозиторий
4. Отправляем pull request (функция Github, позволяющая вносить изменения в ветку из других веток или репозиториев).
Чтобы создать Pull Request, зайдём на страницу вашего форка в GitHub. Справа внизу после названия вашего форка, есть вкладка Pull request заходите в нее, если у вас есть коммит для отпрваки вы увидите окно с заголовком и комментарием там будет стоять название вашего коммита с правой стороны будет зеленая кнопка «New pull request» нажимаете эту кнопку ваш pull request будет отправлен. Проверить отправку можно в основном проекте заходите в основной проект во вкладке Pull request будут отображаться цифры с отправленными pull request, если вы туда зайдете сможете увидеть собый pull request.
5. После принятия pull request локально удаляете эту ветку и забываете про нее.
Для этого выполните следующую команду:
git branch -D YouBranch #YouBranch меняем на ваше название
Создаем бранч из коммита для обучения на готовых задачах
Вот еще подсказка: если тебе хочется изучить код решения, но не очень удобно на гитхабе диффы смотреть, да еще хочется с кодом поиграться, можно же создать ветку из конкретного коммита.
Все, вот ты в бранче test_branch и ровно в этой точке. Запускай yarn dev, иди в код этих файлов и играйся с кодом.