자바에서 .class 파일은 .java 파일을 컴파일했을 때 생성되는 빌드 산출물입니다.
즉, 소스코드가 아니라 실행을 위해 자동 생성된 결과물이기 때문에 보통 GitHub에는 올리지 않습니다.
.class 파일은 컴파일하면 언제든 다시 만들 수 있고, IDE나 환경에 따라 달라질 수도 있습니다.
또 저장소가 지저분해지고, 불필요한 충돌이 생길 수 있어서 미리 Git 추적 대상에서 제외하는 것이 좋습니다.
이미 커밋된 out 폴더는 .gitignore만 추가한다고 바로 사라지지 않습니다.
먼저 아래 명령어로 Git의 추적 대상에서 제거해야 합니다.
# out 패키지 제거
git rm -r --cached out
(정보) --cached 옵션은 로컬 파일은 삭제하지 않고 Git에서만 추적을 해제하는 옵션입니다.

IntelliJ를 사용 중이라면 .idea/.gitignore 파일에 아래 내용을 추가합니다.
/out/
이렇게 하면 이후부터는 out 폴더가 Git에 올라가지 않습니다.

이제 .gitignore 변경사항과 out 폴더 제거 내용을 커밋해주면 됩니다.
git add .idea/.gitignore
git commit -m "chore: ignore out directory"
git push

이처럼 .gitignore를 사용하면 GitHub에 올리고 싶지 않은 파일이나 폴더를 미리 제외할 수 있습니다.
특히 개발할 때는 아래 같은 것들을 꼭 조심해야 합니다.
• 빌드 산출물 (out, build, target)
• 환경설정 파일 (.env)
• API 키, 비밀번호 같은 민감한 정보
이런 파일들은 실수로라도 GitHub에 올리지 않도록 미리 관리하는 습관이 중요합니다.