Работа с Git

Выполнение и сдача заданий

  • После получения письма вы будете приглашены в GitHub-огранизацию nsucgcourse.
  • Необходимо принять приглашение.
  • После этого для каждого студента будет создан персональный репозиторий вида g<GROUP>_surname (для примера выше g16201_ivanov), т.е. полное имя репозитория http://github.com/nsucgcourse/g<GROUP>_surname.
  • Каждый студент сможет читать содержимое персонального репозитория, но не сможет в него писать.
  • Необходимо создать Fork с этого репозитория, полный путь http://github.com/<username>/g<GROUP>_surname, например, http://github.com/ivanivanov/g16201_ivanov (если username - ivanivanov)
  • Разработка програм для решения заданий ведётся в Fork репозиториев.
  • Для конкретной задачи в репозитории создаётся папка с именем <TaskName>, например, Life.
  • Когда решение готово, создаётся pull request для слияния ветки master персонального репозитория.
  • ВНИМАНИЕ: Каждый pull request должен содержать коммиты относящиеся только к одной задаче. Требование обусловлено тем, что используется один репозиторий для решения нескольких задач. Рекомендуется использовать отдельную ветку для каждой задачи.
  • Преподаватель просматривает pull request, на предмет наличия замечаний и при их отсутствии сливает pull request в master ветку.
  • Замечения, при обнаружении которых pull request не будет слит различные для первой и последующих задач:
    1. Для первой задачи: замечания по проекту, по коду.
    2. Для остальных: только присутствие файлов относящихся к другим задачам.

Полезные комманды Git

Показ справки по заданной команде:

git <command> –help

Клонирование репозитория:

git clone https://github.com/<username>/g<GROUP>_<surname>.git <WORKSPACE_PATH>

Добавление удалённого репозитория:

git remote add origin https://github.com/<username>/g<GROUP>_<surname>.git

Просмотр состояния рабочей области:

git status

Просмотр созданой ветки:

git branch <branchname>

Переключение на указанную ветку:

git checkout <branchname>

Добавление конкретного файла в stage область:

git add <filepath>

Удаление конкретного файла из stage области:

git reset HEAD <filepath>

Добавление всех файлов текущей директории удовлетворяющих .gitignore в stage область:

git add .

Коммит файлов из stage области с заданным сообщением:

git commit -m “Описание коммита”

Отправка текущей ветки на удалённый репозиторий:

git push origin <branchname>

Скрытие и помещение текущих измений в стек:

git stash

Извлечение текущих изменений из стека:

git stash apply

Пример использования команд

Дата модификации: