지식 베이스

GitHub 저장소와의 양방향 동기화

사이트에 적용한 변경 사항은 본인의 저장소에 커밋으로 반영되며, 푸시한 내용은 그대로 사이트에 적용됩니다. 이 서비스는 무료이며, 양쪽에서 동시에 변경이 일어날 때는 다음과 같은 일이 발생합니다.

사용 중인 GitHub 계정을 사이트에 연결하면 양방향으로 두 항목이 실시간 동기화됩니다. 이 기능은 무료이며 사용자가 직접 켜기 전까지는 비활성화되어 있고, 당사가 보유한 계정이 아닌 사용자가 소유한 계정의 리포지토리에만 커밋을 수행합니다.

동기화되는 항목

파일 관리자, SFTP, WordPress 테마 편집기, SSH 세션 등 어떤 방식을 통하든 사이트 파일에서 변경한 내용은 리포지토리의 커밋으로 반영됩니다. 별도로 알리지 않아도 당사가 사이트와 마지막 커밋을 비교하여 변경된 내용을 푸시합니다.

반대 방향으로도, 연결된 브랜치에 푸시된 내용이 사이트에 반영됩니다.

절대 커밋되지 않는 항목

wp-config.php 파일은 고의적이고 영구적으로 제외됩니다. 이 파일에는 데이터베이스 비밀번호와 인증 키(salt)가 포함되어 있으며, git은 기록을 영구적으로 보관하므로 비공개 리포지토리라 할지라도 이러한 정보는 리포지토리에 포함되어서는 안 됩니다.

또한 .env 파일, 키 및 인증서, 업로드 폴더, 캐시, node_modules도 제외됩니다. 리포지토리는 백업이 아니라 사이트의 소스입니다. 미디어 파일은 이미 보관되어 있는 백업에 저장해야 하며, 이를 리포지토리에 포함하면 모든 푸시가 느려지고 모든 변경 사항을 파악하기 어려워집니다.

양쪽 모두에서 변경 사항이 발생한 경우

이 부분은 꼭 읽어보셔야 합니다. 파일 관리자에서 파일을 편집하는 동안 동료가 동일한 리포지토리에 변경 사항을 푸시한 경우를 가정해 보겠습니다.

당사는 작업을 중단합니다. 병합을 수행하지 않으며, 누구의 변경 사항도 덮어쓰지 않습니다. 사이트의 배포(Deploy) 탭에는 "확인되지 않은 리포지토리 변경 사항이 있습니다"라는 메시지가 표시되며 확인해야 할 커밋 이름이 명시되고 사용자의 조치를 기다립니다. 대기하는 동안에는 양쪽 모두 어떤 데이터도 손실되지 않습니다. 사용자의 수정 사항은 사이트에 그대로 유지되고, 동료의 커밋은 리포지토리에 그대로 유지됩니다.

이후 다음 중 하나를 선택할 수 있습니다.

  • 이 사이트의 파일 유지 — 사용자의 버전을 상대방의 버전 위에 덮어씁니다. 상대방의 커밋은 기록에 남으며 아무것도 삭제되지 않습니다.
  • 리포지토리 사용, 사이트 변경 사항 폐기 — 리포지토리의 버전이 사이트에 적용되며, 사이트에서 이루어진 변경 사항은 폐기됩니다. 이 작업은 데이터 손실을 유발하므로 사용자가 직접 의도적으로 클릭해야만 실행되며 당사에서 임의로 처리하지 않습니다.

의도적으로 "자동 병합" 옵션은 제공하지 않습니다. 당사에서 병합을 수행하면 두 사용자 중 누구도 작성하지 않은 파일이 두 사람이 먼저 확인하지도 않은 상태에서 라이브 사이트에 반영될 수 있기 때문입니다.

동기화가 중단될 수 있는 원인

  • GitHub 계정이 연결되지 않았습니다. 계정을 연결하기 전까지는 스위치가 꺼진 상태로 유지됩니다.
  • 사용자의 조치를 기다리는 중입니다. 위에서 설명한 것처럼 대기 상태는 자동으로 해제되지 않습니다.
  • 계정이 정상 상태가 아닙니다. 요금 결제가 완료되면 동기화가 일시 중지되었다가 자동으로 다시 시작됩니다. 데이터는 손실되지 않습니다.

배포 탭에는 변경 사항이 없었던 동기화를 포함하여 최근 동기화 기록이 표시됩니다. 해당 목록이 비어 있고 동기화가 켜져 있는 경우, 연결된 계정에 리포지토리 쓰기 권한이 없을 가능성이 높으므로 액세스 권한을 확인하고 다시 연결하십시오.

동기화 대상 선택

기본적으로 사이트 전체가 동기화됩니다. WordPress 사이트의 경우 직접 작성하지도 않고 편집할 일도 없는 WordPress 코어의 모든 파일이 포함되므로 이는 일반적으로 원하는 방식이 아닙니다. "이 폴더만 동기화"(을)를 wp-content/themes/my-theme과 같은 테마 폴더로 설정하면 나머지는 변경되지 않고 유지됩니다.

여전히 해결되지 않으셨나요?

모든 요금제에 지원이 포함되어 있으며, 모국어로 답변을 받아보실 수 있습니다.

고객센터 문의 모든 문서
GitHub 저장소와의 양방향 동기화