Работа с 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 не будет слит различные для первой и последующих задач:
- Для первой задачи: замечания по проекту, по коду.
- Для остальных: только присутствие файлов относящихся к другим задачам.
Полезные комманды 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