Коротко по вопросу: Github это удаленный сервер(origin), их может быть много. Оттуда команда выкачивает проекты(git pull), но в самом начале работы надо склонировать(git clone) и локально работает, после того как что то изменили, изменения добавляются в индекс(git add), фиксируются(коммитятся)(git commit) и отправляются на сервер(git push)
Если консоль сложна, то SmartGit идеальное решение.
Если коротко о web-java
1) Ставим задачу. Форум, либо Твиттер(Spring in Action в этой книге идет создание этого), либо еще что то
2) Берем maven/gradle, создаем проект
3) Прочитать книгу O'Reilly Servlets and JSP как то так называется
4) И писать проект в Фронтенд не углубляться(базовый синтаксис HTML/CSS/JS)
5) Подключить БД(базу данных) JDBC
6) Обязательно на каждый контроллер, да и любую функциональность тесты. jUnit
7) Использовать обязательно git. Аккаунт на github завести.
8) Настроить CI(непрерывная интеграция) Jenkinks(просто для интереса). Опционально
9) Перевести всё на Spring
10) JDBC заменить Hibernate
11) Улучшить Frontend
12) Прикрутить Spring Security
SE, проекты Maven-ом собирать, там если что то надо, укажешь дополнительные зависимости. И лучше поконкретнее изучить ядро.(Коллекции, полиморфизм, наследование, static, I/O, исключения, многопоточность).
Увеличить RAM до 8Гб, на видюху упор не надо делать. А самое правильно запустить монитор ресурсов и посмотреть чего не хватает программе. Скорее всего проц тоже нагружаться сильно будет.