В терминале выполнить команду git vertion
Если Git установлен, появится сообщение с информацией о версии файла. Иначе будет сообщение об ошибке.
Загужаем последнюю версию Git с сайта https://git-scm.com/downloads. Устанавливаем с настройками по умолчанию.
При первом использовании Git необходимо представиться. Для этого нужно ввести в терминале две команды:
git config --global user.name "Ваше имя"
git config --global user.email "почта@example.com"
Получить репозиторий можно получить двумя способами.
- В терминале мы переходим к папке, в которой хотим создать репозиторий.
Выполняем команду
git init. В исходной папке появится скрытая папка .git, содержащая все необходимые файлы репозитория - структуру Git репозитория. - Клонировать репозиторий. Выполняем команду
git clone. Команда имеет такую форму записи: git clone <ссылка на репозиторий> <название папки>. Мы просим Git создать копию репозитория, который находится по ссылке (<ссылка на репозиторий>), и можем указать название новой папки, в которую Git скопирует репозиторий (<название папки>). Если его не указать, папка будет называться так же, как и сам репозиторий.
- Команда
git add <имя файла с расширением>. Команда git add добавляет изменение из рабочего каталога в раздел проиндексированных файлов. Она сообщает Git, что вы хотите включить изменения в конкретном файле в следующий коммит. - Для сохранения изменений в файле необходимо использовать команду
git commit -m "commit message".
При передаче параметра -m текстовый редактор не открывается, а используется подставленный комментарий.
Команда git commit -am "commit message"
Команда с параметрами -a и -m. Эта комбинация параметров создает коммит всех проиндексированных изменений и добавляет к коммиту подставленный комментарий.
При использовании -am команду git add <имя файла с расширением> можно не использовать.
Команда git commit --amend
Эта команда используется для изменения записи последнего коммита.
- Команда
git status. Команда git status отображает состояние рабочего каталога и раздела проиндексированных файлов. С ее помощью можно проверить индексацию изменений и увидеть файлы, которые не отслеживаются Git. - Команда
git diff. Команда git diff представляет собой многоцелевую команду Git, которая инициирует функцию сравнения источников данных Git — коммитов, веток, файлов и т. д.
Просмотр истории коммитов осуществляется с помощью команды git log.
Команда git log отображает отправленные снимки состояния и позволяет просматривать и фильтровать историю проекта, а также искать в ней конкретные изменения.
Команда git log --oneline выводит каждый коммит в одну строчку.
Команда git checkout <хеш-код коммита> — это возмоность перехода к необходимому изменению файла.
_После того как вы нашли ссылку на нужный коммит в истории, с помощью командй git log, запоминаем хеш-код этого коммита и используем команду git checkout <хеш-код коммита>.
Чтобы продолжить разработку, необходимо вернуться к текущему состоянию проекта, с помощью команды git checkout master
.gitignore
Необходимо создать файл .gitignore. В нем указать новые файлы, которые должны быть проигнорированы.
Файлы .gitignore содержат шаблоны, которые сопоставляются с именами файлов в репозитории для определения необходимости игнорировать эти файлы. Можно игнорировать все файлы с одинаковыми расширениями.
Пример:
Необходимо игнорировать все файлы с расширением .jpg.
В файле .gitignore надо прописать *.jpg
- Создание новой ветки.
Команда git branch <name_new_branch> создает новую ветку с названием name_new_branch
Чтобы узнать на какой ветке мы сейчас находимся, необходимо использовать команду - git branch
Чтобы перейти на интересующую нас ветку, необходимо использовать команду - git branch name. Где name это название интересующей нас ветки.
- Слияние веток. Команда
git merge <name_branch>
Команда git merge выполняет слияние отдельных направлений разработки, созданных с помощью команды git branch, в единую ветку.
Необходимо для начала перейти в основную ветку? с помощью команды git checkout master. И после находясь в основной ветке произвести слияние с интересующей нас веткой.
- Удаление веток.
Для удаления устаревшей целевой ветки используется команда git branch -d <name_branch>.
Где name_branch название ветки, которую необходимо удалить.
Удаление указанной ветки. Это «безопасная» операция, поскольку Git не позволит удалить ветку, если в ней есть неслитые изменения.
- Разрешение конфликтов при слиянии. При попытке объединить ветки, в которых изменена одна и та же часть того же файла, Git не сможет сделать выбор между версиями. В таком случае операция останавливается прямо перед созданием коммита слияния, чтобы пользователь вручную разрешил конфликты. Необходимо выбрать вариант слияния:
- Accept current change - Принять текущее изменение, из основной ветки.
- Accept incoming change - Принять входящее изменение, из ветки с которой происходит слияние.
- Accept both changes - Принять оба изменения.
- Compare changes - Сравнить изменения.
После разрешения конфликта необходим сделать еще один коммит, где указывается информация о разрешения конфликта.
Для того, чтобы клонировать удаленный репозиторий к себе на компьютер, необходимо использовать команду clone. Операция клонирования создаёт на локальном компьютере точную копию удаленного репозитория.
git clone <ссылка на удаленный репозиторий>
Ссылку на удаленный репозиторий можно получить нажав на зеленую кнопку Code на главной странице репозитория на GitHub.
Для того, чтобы получить изменения из удаленного репозитория, в Git предусмотрена команда git fetch.
git fetch <имя удаленного репозитория>
Команда pull является составной командой. Она представляет собой связку
git fetch & git merge.
git pull <ссылка на удаленный репозиторий>
Команда загружает изменения в удаленный репозиторий. Если слияние изменений в удаленном репозитории нельзя сделать в режиме fast-forward, и при этом не был передан ключ force, выполнение закончится с ошибкой. Команда выглядит следующим образом*
git push <имя удаленного репозитория> <имя ветки>
Если изменения в нашей ветки можно слить с удаленной веткой в режиме fast-forward, то есть на удаленной ветке нет коммитов сделанных после наших, то все пройдет нормально.
Если на удаленной ветке есть коммиты, которые были сделаны позже наших, то есть слияние в режиме fast-forward выполнить невозможно, то команда завершится с ошибкой. Ведь в этом случае есть угроза перезаписи истории удаленного репозитория и удаления всех коммитов, созданных позже наших.
Если передать флаг --force, то все коммиты, которых нет в вашем локальном репозитории, будут удалены. То есть удаленный репозиторий станет точной копией вашего локального. Есть более щадящая версия этого флага – --force-with-lease. Он будет делать в точности то же самое, но если вдруг нужно будет удалить коммит, созданный не вами, выполнение немедленно прекратится и вернется ошибка. Таким образом, вы не попадете в ситуацию, когда вы случайно удалили чужой коммит.
-
Зайти на страницу репозитория проекта. Нажать на кнопку
Fork. После этого Git создаст точную копию этого репозитория в вашем аккаунте. -
Клонировать репозиторий к себе на компьютер командой
git clone <ссылка на Fork>.ссылка на Forkнаходится под в выплывающем окошке под Code. Создаем файлREADME.mdс описанием проекта. -
Делаем коммит и выполняем
git push, чтобы загрузить свои изменения в удаленный репозиторий. -
Теперь GitHub подсказывает, что наша ветка опережает ветку исходного репозитория на один коммит и предлагает сделать пулл-реквест.
-
Нажать на кнопку
Compareна подсказке GitHub, либо перейти на вкладкуPull Requestsи нажатьNew pull request. -
Откроется страница создания Pull Requests. Можно просмотреть внесенные изменения и выбрать две ветки: одну в исходном репозитории, на которую будут залиты изменения, вторую – в нашем репозитории, с нее будут скачаны изменения. Далее нажать кнопку
Create pull request. -
Далее, в появившемся окне, необходимо описать изменения и после нажать кнопку
Create pull request. -
После того, как владелец репозитория проверит предложенные изменения, он может принять их, или написать комментарии и отпраить обратно.