누군가 고의로 트롤해서 날리는건 안됩니다.
실프로젝트에 Push/Pull 할 수 있는건 프로젝트 관리자와 Collaborator(대충 공동관리자같은거)인 사람만 가능합니다.
그 외의 사람들은 퍼블릭 레포를 Fork해서 본인 레포에서 작업(커밋) 후, 퍼블릭 레포에 Pull Request를 요청하고,
이걸 위에서 언급된 프로젝트 관리자 혹은 Collaborator가 승인을 해줘야 합니다.
참고로 Collaborator는 관리자가 직접 지정합니다. 두번째 질문의 답변이 되겠네요.