Если вы не хотите потерять ваш проект и сохранить его на будущее, то удобно опубликовать его на GitHub. В частности это очень удобно для сохранения результата в конце урока - все что вы опубликуете (commit+push) на гитхаб будет доступно вам и дома. Из соображений паранойи - хорошая идея явно после сохранения результатов в гитхабе - проверить через браузер что изменения действительно опубликовались в репозитории.

Кроме того это полезно научиться делать, т.к. в реальном мире разработки системы хранения изменений в проекте используются повсеместно, поэтому начать знакомиться - полезно.

И т.к. вы представляете проект на конференции - то позже всем надо будет сделать и добавить ссылку в конце презентации. Но пока что это добровольная опция для энтузиастов и тех кто хочет упростить себе жизнь - всмысле переноса проекта из дома на урок и наоборот.

Регистрируетесь

Регистрируетесь на GitHub.com

Публикуете проект

1) Открываете проект в IDEA

2) Жмете сверху Git -> Github -> Share project on GitHub (или VCS -> Import into Version Control -> Share project on GitHub)

3) Например:

Repository name: AngryBirds
Private: не ставить галочку (если поставить, то репозиторий будет виден только вам)
Remote: origin
Description: Игра про стрельбу птицами по свиньям написаная на Java Swing.

3.5) Если при логине вы получаете ошибку “Invalid authentication data. 404 Not Found - Not Found”, то попробуйте:

  • в окне логина сверху справа Use Token, затем Generate - Ok на странице github (для создания токена для логина)
  • скопируйте токент (длинная строка)
  • вставьте его в поле в IDEA - теперь должно залогинить

4) Если снизу справа появилась ошибка “Can’t finish GitHub sharing process … initial push failed”, то:

5) Git -> Manage Remotes… (или VCS -> Git -> Remotes)

6) Нажмите на карандашик и замените URL на https://USERNAME:PASSWORD@github.com/USERNAME/REPOSITORYNAME.git (поправив USERNAME, PASSWORD и REPOSITORYNAME)

7) Теперь сделайте push еще раз: VCS -> Git -> Push… -> Push

Сохраняйте в репозитории новые изменения (коммитьте их)

1) Git -> Commit... (или VCS -> Commit)

2) Жмите не на Commit, а на стрелочку справа и там - Commit and Push...

3) Если вы все же сделали обычный Commit, то просто выполните еще и это: Git -> Push… -> Push

Чтобы посмотреть изменения которые вы ранее делали

1) Снизу-слева жмете “Git” (или хоткеем: Alt+9)

2) Чуть повыше жмете Log (правее от Local Changes)

3) Можете выбрать любой коммит, справа выбрать файл и нажав на него правой кнопкой и там Show Diff - увидите изменения в файле

А чтобы посмотреть какие локальные изменения вы сделали до сих пор - вместо Log вам нужно нажать на Local Changes

Убедитесь что вы не забыли закоммитить в том числе картинки

Если у вас есть картинки в проекте, то стоит их тоже закоммитить. Например можете рядом с папкой src создать папку data и складировать всё туда.

Чтобы было проще запускать ваш проект на другом компьютере или через миллион лет найдя репозиторий - как минимум измените пути картинок на относительные (т.е. с C:\\Users\\...\\image.png на data\\image.png) и при запуске игры в идее убедитесь что в Run -> Edit Configurations... в запускаемом вами файле указана Working directory: равная пути к папке с вашим проектом, т.е. чтобы относительно этой рабочей папки (Working directory:) картинки действительно были доступны по пути data\image.png.

Еще лучше если вы соберете последнюю версию вашего проекта в самодостаточный .jar-файл и опубликуете его как релизную версию вашего проекта, подробнее здесь.

Сделайте описание вашего проекта

Чтобы сделать описание вашего проекта например в таком стиле - после публикации и изначального push-а:

1) Откройте ваш репозиторий на GitHub.com в браузере

2) Проверьте что вы залогинились

3) Нажмите сверху и немного правее чем исходные файлы кнопку Create new file (левее зеленой кнопки Clone or download)

4) Укажите названием файла README.md и обратите внимание что по мере редактирования файла вы можете посмотреть как он выглядит - достаточно переключиться на Preview, а потом обратно на Edit new file

5) Этот файл можно писать на языке разметки Markdown, что-то о нем можно почитать тут - Mastering Markdown.

Как вариант вам предлагается воспользоваться таким шаблоном:

  • # AngryBirds - большие буквы отделенные чертой от последующего текста

  • ![Титульный скриншот или например иконка](/screenshots/screenshot1.png) - картинка из вашего репозиторий лежащяя по пути screenshots/screenshot1.png (текст в квадратных скобочках - описание которое появится если картинка не прогрузится)

  • **W** - сделает текст внутри звездочек выделенным

  • [Intellij IDEA](https://www.jetbrains.com/idea/) - ссылка ведущая на указанный адрес в интернете, но показанная как синяя надпись с текстом из квадратных скобок

# AngryBirds

![Титульный скриншот или например иконка](/screenshots/screenshot1.png)

Игра про стрельбу птицами по свиньям с двухмерной физикой на базе Java Swing.

# Управление

1. **W**, **A**, **S**, **D**  - двигать что-нибудь ввеох, влево, вниз и вправо соответственно
2. **ПРОБЕЛ** - запустить крутой фейерверк
3. Проведя мышкой с зажатой левой кнопкой можно оттянуть птицу и отпустив левую кнопку - выстрелить

# Как поиграть

- Либо скачать ```.jar```-файл последней версии со [страницы](https://github.com/USERNAME/REPOSITORYNAME/releases) с опубликованными релизами
- Либо открыть проект в [Intellij IDEA](https://www.jetbrains.com/idea/)

# Скриншоты

![Скриншот основного геймплея](/screenshots/screenshot2.png)
![Скриншот основного геймплея](/screenshots/screenshot3.png)
![Скриншот меню](/screenshots/screenshot4.png)

А это скриншот баги которая мне так понравилась, что теперь это фича:

![Скриншот неприятной баги которую я не знаю как поправить, поэтому притворюсь что так и задумано](/screenshots/screenshot5.png)

Как скомпилировать проект в самодостаточный .jar-файл и опубликовать его в папку https://github.com/USERNAME/REPOSITORYNAME/releases - смотрите здесь.

Несколько примеров с неплохим описанием из которых можно вдохновиться хорошими идеями и примерами Markdown-разметки: