Если вы не хотите потерять ваш проект и сохранить его на будущее, то можете опубликовать его на GitHub.

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

Если вы представляете проект на конференции - то вы обязаны это сделать и добавить ссылку в конце презентации.

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

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

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

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

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

3) Например:

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

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

5) VCS -> Git -> Remotes

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

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

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

1) VCS -> Commit...

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

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

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

1) Снизу слева жмете “9: Version Control”

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

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-разметки: