콘텐츠로 이동

프로젝트를 GitHub에 저장하기

핵심 요약MonstarX의 GitHub App으로 클릭 한 번에 GitHub을 연결하세요(토큰 없이 저장소를 직접 고릅니다). 그다음 프로젝트 상단 바의 GitHub을 눌러 새 저장소를 만들거나 기존 저장소를 연결하세요. MonstarX가 프로젝트 전체를 푸시하고, 이후 바꾸는 모든 내용을 커밋합니다. GitHub에 커밋한 내용도 가져옵니다. 가져온 앱은 monstarx 브랜치에 동기화되므로 내 브랜치는 절대 움직이지 않습니다.

GitHub은 개발자들이 코드를 보관하는 곳으로, 모든 변경 기록이 남습니다. MonstarX 프로젝트를 GitHub 저장소(GitHub에 있는 프로젝트 폴더)에 연결하면 양쪽이 양방향으로 맞춰집니다. MonstarX가 만든 내용은 커밋으로 저장소에 푸시되고, 나나 개발자가 저장소에 커밋한 내용은 MonstarX로 돌아옵니다.

개발자가 자기 편집기에서 코드를 작업하고 싶을 때, 회사가 모든 코드를 GitHub에 보관할 때, 또는 GitHub에서 배포할 때(예를 들어 Railway가 그렇게 합니다) 유용합니다.

GitHub 계정은 어떻게 연결하나요?

섹션 제목: “GitHub 계정은 어떻게 연결하나요?”

GitHub은 MonstarX 계정 전체에 한 번만 연결하면 됩니다. 설정연동이나 아무 프로젝트의 GitHub 버튼에서 연결할 수 있습니다. 가장 쉬운 방법은 MonstarX의 GitHub App입니다. 토큰을 만들거나 붙여 넣을 필요가 없고, MonstarX가 어떤 저장소에 접근할지 정확히 정할 수 있습니다.

  1. 개인 GitHub 계정 연결을 클릭하세요.

  2. GitHub이 열리고 앱을 어디에 설치할지 묻습니다. 조직이 아니라 개인 계정을 선택하세요.

  3. MonstarX가 쓸 수 있는 저장소를 고르세요. All repositories를 고르거나, Only select repositories를 고르고 원하는 저장소에 체크하세요. 나중에 GitHub에서 바꿀 수 있습니다.

  4. Install을 클릭하고, GitHub이 확인을 요청하면 Authorize를 클릭하세요.

  5. MonstarX로 돌아오면 카드에 연결됨 · GitHub App이 표시됩니다.

GitHub App에 관해 알아 둘 점은 다음과 같습니다.

  • 조직 승인이 필요 없습니다. 개인 계정에만 설치됩니다. 실수로 조직을 고르면 MonstarX가 개인 계정에 설치한 뒤 다시 시도하라고 안내합니다.
  • 새 저장소는 개인 계정에 만들어집니다. Only select repositories를 골랐더라도 MonstarX는 자기가 만든 저장소에는 항상 접근할 수 있습니다.
  • 고른 저장소가 접근 범위입니다. 기존 저장소를 연결하려면 앱에 허용한 저장소여야 합니다. 설치한 앱에 대한 GitHub 설정에서 저장소를 더 추가할 수 있습니다.
  • 접근 권한은 짧은 시간만 유효하고 자동으로 갱신되며, 암호화되어 저장됩니다. 브라우저로는 절대 전송되지 않습니다.

원하면 다른 방법 두 가지도 쓸 수 있습니다.

방법이럴 때 쓰세요
접근 범위가 제한된 개인 저장소(설정에서는 접근 범위가 제한된 개인 저장소 연결)개인 액세스 토큰(GitHub에서 한 가지 용도로 만드는 비밀번호)으로 MonstarX가 저장소 딱 하나에만 접근하게 하고 싶을 때. 리소스 소유자를 개인 계정으로, 대상을 그 저장소 하나로, 권한을 Contents: read and write로 설정해 세분화된(fine-grained) 토큰을 만드세요. 이런 토큰으로는 새 저장소를 만들 수 없으므로 GitHub에서 저장소를 먼저 만들어 두세요.
대신 GitHub 권한 부여로 연결내가 속한 조직의 저장소에 푸시하고 싶을 때. GitHub의 일반 로그인 화면에 해당 조직에 대한 접근 권한이 포함될 수 있으니, 허용하기 전에 꼼꼼히 확인하세요.

연결하고 나면 카드에 연결 방식(GitHub App, GitHub으로 로그인됨, 개인 액세스 토큰)과 MonstarX가 최신 상태로 유지하는 모든 저장소가 표시됩니다. 저장소마다 마지막 동기화 시각과 동기화 방식(자동 또는 수동)이 나옵니다. 나중에 다른 방식으로 연결하면 기존 연결이 대체되지만, 연결해 둔 저장소는 그대로 연결되어 있습니다.

프로젝트를 GitHub에 저장하려면 어떻게 하나요?

섹션 제목: “프로젝트를 GitHub에 저장하려면 어떻게 하나요?”
  1. 프로젝트를 열고 상단 바의 GitHub을 클릭하세요. (프로젝트의 설정내보내기에 있는 GitHub에 보관에서도 할 수 있습니다.)

  2. 아직 계정을 연결하지 않았다면 그 자리에서 연결하세요.

  3. 새 저장소 또는 기존 저장소를 고르세요.

    • 새 저장소: 소유자(나 또는 내가 속한 조직)를 고르고, 저장소 이름을 입력하세요. 코드를 모두에게 공개하고 싶은 경우가 아니라면 비공개 저장소는 체크된 상태로 두고, 저장소 생성 및 푸시를 클릭하세요.
    • 기존 저장소: owner/repository 형식으로 입력하거나 github.com 주소를 붙여 넣으세요. 필요하면 브랜치를 입력하고(비워 두면 기본 브랜치), 연결 및 동기화를 클릭하세요. 내 계정에 그 저장소에 푸시할 권한이 있어야 합니다.
  4. MonstarX가 바로 배포할 수 있는 형태로 프로젝트 전체를 푸시합니다. 동기화되면 GitHub 버튼에 초록색 점이 표시됩니다.

새 저장소는 “Initial commit from MonstarX”라는 커밋 하나로 시작합니다. 기존 저장소에서는 브랜치 위에 프로젝트가 커밋되며, LICENSE, CI 워크플로, 문서처럼 MonstarX가 관리하지 않는 파일은 절대 건드리지 않습니다.

저장소에는 무엇이 들어가나요?

섹션 제목: “저장소에는 무엇이 들어가나요?”

내보내기로 받는 것과 같습니다. 앱 코드, MonstarX 프레임워크 파일, 실행과 배포에 필요한 설정, 데이터베이스 마이그레이션, 앱에 필요한 시크릿 이름 목록(값은 절대 포함되지 않습니다), README가 들어갑니다.

GitHub으로 절대 가지 않는 것도 있습니다.

  • 시크릿 값, 앱의 데이터베이스 행과 업로드된 파일은 MonstarX에 남습니다.
  • 스프레드시트에서 가져온 행은 절대 푸시되지 않습니다. 저장소가 공개될 수도 있는데, 그 행에는 고객 정보가 담겨 있기 때문입니다.
  • 바이너리 파일과 1 MB가 넘는 파일은 건너뛰고, 동기화 로그에 목록으로 남깁니다.

모든 변경 사항 자동 푸시가 켜져 있으면(기본값입니다) MonstarX는 다음 때에 동기화합니다.

  • 앱 파일을 바꾼 요청이 끝날 때마다. 커밋 메시지는 내 요청입니다.
  • QA 자동 수정 후
  • 버전을 복원한 후
  • 코드 화면에서 파일을 저장하거나 삭제한 후

GitHub 메뉴의 지금 동기화를 누르면 언제든 푸시하고 가져옵니다. 직접 동기화하고 싶다면 자동 푸시를 끄세요.

누군가 GitHub에서 코드를 고치면 어떻게 되나요?

섹션 제목: “누군가 GitHub에서 코드를 고치면 어떻게 되나요?”

평소처럼 GitHub에 커밋하세요. 다음 동기화 때 MonstarX가 변경 사항을 프로젝트로 가져옵니다.

  • 앱 자체 파일(src/, public/, migrations/, README.md)의 변경 사항은 MonstarX로 들어옵니다. 미리보기가 업데이트되고, 새 데이터베이스 마이그레이션이 실행되며, 버전에 GitHub에서: 뒤에 커밋 제목이 붙은 새 버전이 생깁니다.
  • 대화에 “GitHub에서 파일 3개 가져옴” 같은 카드가 나타나 파일 목록을 보여 줍니다. 그래서 나와 MonstarX 에이전트 모두 무엇이 바뀌었는지 알 수 있습니다.
  • package.json이나 설정 같은 MonstarX 프레임워크 파일의 변경 사항은 MonstarX가 직접 그 파일을 다음에 바꿀 때까지 GitHub에 남아 있습니다.
  • 같은 파일이 양쪽에서 바뀌었다면 MonstarX는 자기 버전을 유지하고, 내가 고친 버전은 GitHub 기록에 남습니다. 카드에는 “양쪽에서 변경됨, MonstarX 버전 유지”로 표시됩니다.

연결한 뒤 GitHub 메뉴에는 무엇이 보이나요?

섹션 제목: “연결한 뒤 GitHub 메뉴에는 무엇이 보이나요?”
  • 저장소, 브랜치, 비공개 또는 공개 여부
  • 마지막 동기화 시각(예: 5분 전 동기화됨), 또는 이유와 함께 최근 동기화 실패
  • 지금 동기화와 저장소 열기
  • 모든 변경 사항 자동 푸시
  • 최근 동기화: 최근 다섯 번의 동기화와 각각의 커밋
  • 저장소 연결 해제: 동기화를 멈춥니다. 저장소는 GitHub에 그대로 남습니다.
  • 연결 해제: GitHub 계정 연결을 해제합니다. 다시 연결할 때까지 아무것도 푸시되지 않습니다.

GitHub에서 가져온 앱은 어떻게 되나요?

섹션 제목: “GitHub에서 가져온 앱은 어떻게 되나요?”

내가 푸시할 수 있는 저장소에서 앱을 가져오면, 프로젝트는 그 저장소에 계속 연결됩니다. 가져온 커밋에서 시작하는 monstarx라는 새 브랜치에 연결되므로, 내 브랜치는 절대 움직이지 않습니다. MonstarX의 변경 사항이 마음에 들면 GitHub 메뉴의 풀 리퀘스트 열기를 눌러 GitHub에서 병합하세요.

GitHub 토큰이 필요한가요?

아니요. 개인 GitHub 계정 연결을 누르면 MonstarX의 GitHub App이 설치됩니다. GitHub에 로그인하고 저장소를 고르면 끝입니다. 개인 액세스 토큰은 MonstarX의 접근을 저장소 하나로 제한하고 싶은 사람을 위한 대안일 뿐입니다.

GitHub App으로 회사 조직에 접근할 수 있나요?

아니요. GitHub App은 개인 계정에만 설치되고, 새 저장소도 개인 계정에 만듭니다. 조직의 저장소에 푸시하려면 대신 GitHub 권한 부여로 연결로 연결하거나, 조직에 나를 추가해 달라고 요청해 내 계정에서 연결하세요.

나중에 다른 저장소에 대한 접근 권한을 MonstarX에 주려면 어떻게 하나요?

GitHub에서 설치한 GitHub App 설정을 열고 MonstarX를 고른 다음 저장소를 추가하세요(또는 All repositories로 바꾸세요). 그다음 프로젝트의 GitHub 메뉴에서 연결하면 됩니다.

저장소는 비공개인가요?

새 저장소는 기본적으로 비공개입니다. 코드를 공개하고 싶을 때만 비공개 저장소 체크를 해제하세요. MonstarX는 시크릿 값이나 앱 데이터를 절대 푸시하지 않습니다.

회사 조직에 속한 저장소를 연결할 수 있나요?

네. 내 GitHub 계정이 그 저장소에 푸시할 수 있다면 가능합니다. 기존 저장소를 쓰거나, 새 저장소를 만들 때 소유자로 그 조직을 고르세요.

저장소 연결을 해제하면 어떻게 되나요?

MonstarX가 동기화를 멈춥니다. 저장소와 모든 기록은 GitHub에 그대로 남고, 나중에 다시 연결할 수 있습니다.

개발자가 GitHub에서 package.json을 고쳤는데 왜 돌아오지 않나요?

package.json과 설정 같은 프레임워크 파일은 MonstarX가 관리합니다. 이런 파일의 수정 사항은 MonstarX가 그 파일을 다음에 바꿀 때까지 GitHub에 남아 있습니다. 이후 동기화가 그 수정 사항을 몰래 되돌리는 일은 없습니다.

저장소에서 배포할 수 있나요?

네. 저장소는 바로 배포할 수 있는 상태이며, Railway는 저장소에서 배포합니다. 다른 호스팅에 게시하기도 참고하세요.

프로젝트 소유권을 이전하면 연결은 어떻게 되나요?

연결이 끊깁니다. 그래서 새 소유자의 작업이 내 GitHub 계정에 푸시되는 일은 절대 없습니다. 저장소 자체는 그대로 남습니다.