Skip to content

SurkovII/SCV_Git_1804

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Logo

Работа с Git

1. Проверка наличия установленного Git

В терминале выполнить команду git vertion Если Git установлен, появится сообщение с информацией о версии файла. Иначе будет сообщение об ошибке.

2. Установка Git

Загужаем последнюю версию Git с сайта https://git-scm.com/downloads. Устанавливаем с настройками по умолчанию.

3. Настройка Git

При первом использовании Git необходимо представиться. Для этого нужно ввести в терминале две команды:

git config --global user.name "Ваше имя"
git config --global user.email "почта@example.com" 

4. Инициализация репозитория

Получить репозиторий можно получить двумя способами.

  • В терминале мы переходим к папке, в которой хотим создать репозиторий. Выполняем команду git init. В исходной папке появится скрытая папка .git, содержащая все необходимые файлы репозитория - структуру Git репозитория.
  • Клонировать репозиторий. Выполняем команду git clone. Команда имеет такую форму записи: git clone <ссылка на репозиторий> <название папки>. Мы просим Git создать копию репозитория, который находится по ссылке (<ссылка на репозиторий>), и можем указать название новой папки, в которую Git скопирует репозиторий (<название папки>). Если его не указать, папка будет называться так же, как и сам репозиторий.

5. Запись изменений в репозитории

  1. Команда git add <имя файла с расширением>. Команда git add добавляет изменение из рабочего каталога в раздел проиндексированных файлов. Она сообщает Git, что вы хотите включить изменения в конкретном файле в следующий коммит.
  2. Для сохранения изменений в файле необходимо использовать команду git commit -m "commit message".

При передаче параметра -m текстовый редактор не открывается, а используется подставленный комментарий.

Команда git commit -am "commit message"

Команда с параметрами -a и -m. Эта комбинация параметров создает коммит всех проиндексированных изменений и добавляет к коммиту подставленный комментарий. При использовании -am команду git add <имя файла с расширением> можно не использовать.

Команда git commit --amend

Эта команда используется для изменения записи последнего коммита.

  1. Команда git status. Команда git status отображает состояние рабочего каталога и раздела проиндексированных файлов. С ее помощью можно проверить индексацию изменений и увидеть файлы, которые не отслеживаются Git.
  2. Команда git diff. Команда git diff представляет собой многоцелевую команду Git, которая инициирует функцию сравнения источников данных Git — коммитов, веток, файлов и т. д.

6. Просмотр истории коммитов

Просмотр истории коммитов осуществляется с помощью команды git log. Команда git log отображает отправленные снимки состояния и позволяет просматривать и фильтровать историю проекта, а также искать в ней конкретные изменения. Команда git log --oneline выводит каждый коммит в одну строчку.

7. перемещение между сохранениями

Команда git checkout <хеш-код коммита> — это возмоность перехода к необходимому изменению файла.

_После того как вы нашли ссылку на нужный коммит в истории, с помощью командй git log, запоминаем хеш-код этого коммита и используем команду git checkout <хеш-код коммита>.

Чтобы продолжить разработку, необходимо вернуться к текущему состоянию проекта, с помощью команды git checkout master

8. Игнорирование файлов

.gitignore

Необходимо создать файл .gitignore. В нем указать новые файлы, которые должны быть проигнорированы.

Файлы .gitignore содержат шаблоны, которые сопоставляются с именами файлов в репозитории для определения необходимости игнорировать эти файлы. Можно игнорировать все файлы с одинаковыми расширениями.

Пример:
Необходимо игнорировать все файлы с расширением .jpg.
В файле .gitignore надо прописать *.jpg

9. Информация по работе с ветками

  1. Создание новой ветки.

Команда git branch <name_new_branch> создает новую ветку с названием name_new_branch

Чтобы узнать на какой ветке мы сейчас находимся, необходимо использовать команду - git branch

Чтобы перейти на интересующую нас ветку, необходимо использовать команду - git branch name. Где name это название интересующей нас ветки.

  1. Слияние веток. Команда git merge <name_branch>

Команда git merge выполняет слияние отдельных направлений разработки, созданных с помощью команды git branch, в единую ветку.

Необходимо для начала перейти в основную ветку? с помощью команды git checkout master. И после находясь в основной ветке произвести слияние с интересующей нас веткой.

  1. Удаление веток.

Для удаления устаревшей целевой ветки используется команда git branch -d <name_branch>.

Где name_branch название ветки, которую необходимо удалить.

Удаление указанной ветки. Это «безопасная» операция, поскольку Git не позволит удалить ветку, если в ней есть неслитые изменения.

  1. Разрешение конфликтов при слиянии. При попытке объединить ветки, в которых изменена одна и та же часть того же файла, Git не сможет сделать выбор между версиями. В таком случае операция останавливается прямо перед созданием коммита слияния, чтобы пользователь вручную разрешил конфликты. Необходимо выбрать вариант слияния:
  • Accept current change - Принять текущее изменение, из основной ветки.
  • Accept incoming change - Принять входящее изменение, из ветки с которой происходит слияние.
  • Accept both changes - Принять оба изменения.
  • Compare changes - Сравнить изменения.

После разрешения конфликта необходим сделать еще один коммит, где указывается информация о разрешения конфликта.

10 Работа c удаленным репозиторием.

  • Команда Git Clone

Для того, чтобы клонировать удаленный репозиторий к себе на компьютер, необходимо использовать команду clone. Операция клонирования создаёт на локальном компьютере точную копию удаленного репозитория.

git clone <ссылка на удаленный репозиторий>

Ссылку на удаленный репозиторий можно получить нажав на зеленую кнопку Code на главной странице репозитория на GitHub.

  • Команда Git Fetch

Для того, чтобы получить изменения из удаленного репозитория, в Git предусмотрена команда git fetch.

git fetch <имя удаленного репозитория>
  • Команда Git Pull

Команда pull является составной командой. Она представляет собой связку git fetch & git merge.

git pull <ссылка на удаленный репозиторий>
  • Команда Git Push

Команда загружает изменения в удаленный репозиторий. Если слияние изменений в удаленном репозитории нельзя сделать в режиме fast-forward, и при этом не был передан ключ force, выполнение закончится с ошибкой. Команда выглядит следующим образом*

git push <имя удаленного репозитория> <имя ветки>

Если изменения в нашей ветки можно слить с удаленной веткой в режиме fast-forward, то есть на удаленной ветке нет коммитов сделанных после наших, то все пройдет нормально.

Если на удаленной ветке есть коммиты, которые были сделаны позже наших, то есть слияние в режиме fast-forward выполнить невозможно, то команда завершится с ошибкой. Ведь в этом случае есть угроза перезаписи истории удаленного репозитория и удаления всех коммитов, созданных позже наших.

Если передать флаг --force, то все коммиты, которых нет в вашем локальном репозитории, будут удалены. То есть удаленный репозиторий станет точной копией вашего локального. Есть более щадящая версия этого флага – --force-with-lease. Он будет делать в точности то же самое, но если вдруг нужно будет удалить коммит, созданный не вами, выполнение немедленно прекратится и вернется ошибка. Таким образом, вы не попадете в ситуацию, когда вы случайно удалили чужой коммит.

Создание Fork репозитория и Pull request.

  1. Зайти на страницу репозитория проекта. Нажать на кнопку Fork. После этого Git создаст точную копию этого репозитория в вашем аккаунте.

  2. Клонировать репозиторий к себе на компьютер командой git clone <ссылка на Fork>. ссылка на Fork находится под в выплывающем окошке под Code. Создаем файл README.md с описанием проекта.

  3. Делаем коммит и выполняем git push, чтобы загрузить свои изменения в удаленный репозиторий.

  4. Теперь GitHub подсказывает, что наша ветка опережает ветку исходного репозитория на один коммит и предлагает сделать пулл-реквест.

  5. Нажать на кнопку Compare на подсказке GitHub, либо перейти на вкладку Pull Requests и нажать New pull request.

  6. Откроется страница создания Pull Requests. Можно просмотреть внесенные изменения и выбрать две ветки: одну в исходном репозитории, на которую будут залиты изменения, вторую – в нашем репозитории, с нее будут скачаны изменения. Далее нажать кнопку Create pull request.

  7. Далее, в появившемся окне, необходимо описать изменения и после нажать кнопку Create pull request.

  8. После того, как владелец репозитория проверит предложенные изменения, он может принять их, или написать комментарии и отпраить обратно.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors