Lovable 프로젝트 코드를 Bitbucket Cloud 워크스페이스에 내보내고 양방향 동기화하여 코드 백업, 협업, 배포에 활용하는 방법을 알아봅니다.
Lovable 프로젝트를 Bitbucket에 동기화하기
Lovable 프로젝트 코드를 Bitbucket Cloud 워크스페이스에 내보내고 양방향 동기화하여 코드 백업, 협업, 배포에 활용합니다.
Lovable로 빌드하면 프로젝트 코드는 Lovable 플랫폼 안에 저장·관리됩니다.
Bitbucket은 Atlassian의 코드 저장·관리·공유 플랫폼입니다. version control, pull request와 code review, 자동 빌드와 배포를 위한 Bitbucket Pipelines, Jira 통합을 제공합니다.
자체 복사본이 필요하거나 개발자와 협업할 계획이 있거나 프로젝트를 다른 곳으로 옮기려면 프로젝트를 Bitbucket Cloud로 내보내고 동기화할 수 있습니다. 코드를 백업하고, pull request에서 변경 사항을 검토하고, IDE에서 로컬로 작업하고, branch에서 기능을 테스트하고, Lovable 외부에 배포할 수 있습니다.
Git sync가 무엇인지, 공급자 전반에서 양방향 동기화 모델이 어떻게 동작하는지, GitHub, GitLab, Bitbucket 중 무엇을 선택할지에 대한 전체 그림은 Git sync 개요를 참조하세요.
Lovable은 Bitbucket Cloud(bitbucket.org)와 동기화합니다. 셀프 호스팅 Bitbucket Data Center 또는 Bitbucket Server instance는 지원하지 않습니다.
Lovable을 사용하는 데 Bitbucket이 필요하지는 않습니다. 많은 사용자가 Lovable 안에서 완전히 빌드하고 출시합니다. 코드 사본만 필요하다면 Lovable에서 직접 코드를 내려받을 수 있습니다. Project settings → Git의 Download codebase 섹션을 사용하거나 Code editor를 열고 파일 트리 sidebar 하단의 Download codebase를 클릭하세요(유료 플랜).
Bitbucket Git sync 작동 방식
모든 Git sync처럼 Bitbucket 통합은 두 계층으로 구성됩니다.
- 워크스페이스 연결
- 프로젝트 저장소 링크
워크스페이스 연결
워크스페이스 연결은 Lovable이 하나의 Bitbucket Cloud 워크스페이스에 접근하도록 authorize합니다. Atlassian 계정으로 로그인해 Lovable에 접근 권한을 부여한 뒤 연결할 Bitbucket 워크스페이스를 선택합니다. Lovable은 해당 워크스페이스에 webhook을 등록해 Bitbucket의 변경 사항이 프로젝트에 도달하게 합니다. webhook은 push 같은 일이 워크스페이스에서 발생할 때 Bitbucket이 Lovable로 보내는 알림입니다.
Lovable 워크스페이스의 모든 프로젝트는 같은 워크스페이스 연결을 사용할 수 있습니다.
Lovable 워크스페이스에는 다음이 포함될 수 있습니다.
- Bitbucket 워크스페이스별 Bitbucket 연결 여러 개
- GitHub, GitLab 연결과 나란히 있는 Bitbucket 연결
각 Bitbucket 워크스페이스는 Lovable 워크스페이스당 한 번만 연결할 수 있습니다.
연결하려는 Bitbucket 워크스페이스에 admin 접근 권한이 필요합니다. Lovable은 설정 중 워크스페이스 수준 webhook을 등록하며, Bitbucket은 워크스페이스 admin에게만 이를 허용합니다.
프로젝트 저장소 링크
프로젝트 저장소 링크는 하나의 Lovable 프로젝트를 하나의 Bitbucket 저장소에 연결합니다.
연결되면 다음이 이루어집니다.
- Lovable에서 변경한 내용이 Bitbucket에 동기화됩니다.
- 활성 Bitbucket branch에 push된 변경 사항이 Lovable로 다시 동기화됩니다.
- Lovable은 한 번에 하나의 branch만 편집하고 동기화합니다.
Bitbucket 통합의 역할 기반 접근 권한
| 역할 | 허용되는 작업 |
|---|---|
| 워크스페이스 owner 또는 admin만 |
|
|
|
|
|
워크스페이스 Bitbucket 연결 만들기
워크스페이스 admin과 owner는 다음 위치에서 워크스페이스 연결을 만들 수 있습니다.
- Workspace settings → Git → Bitbucket → Add connection
- Project settings → Git → Bitbucket → Add connection(프로젝트가 아직 연결되지 않은 경우)
하나 이상의 Bitbucket Cloud 워크스페이스에 admin 접근 권한이 있는 Atlassian 계정이 필요합니다. bitbucket.org에서 Bitbucket 계정을 무료로 만들 수 있습니다.
새 연결 추가
Add connection을 클릭합니다. Connect Bitbucket 화면이 열립니다.
Bitbucket으로 authorize
Authorize with Bitbucket을 클릭합니다. Atlassian sign-in page로 popup이 열립니다. 로그인하고 Lovable에 접근 권한을 부여합니다.
Atlassian은 authorization을 Bitbucket 워크스페이스가 아니라 Atlassian 계정에 저장합니다. 나중에 Atlassian 계정 설정의 Connected apps에서 검토하거나 취소할 수 있습니다.
워크스페이스 선택
Select workspace 아래에서 Lovable은 계정에서 사용할 수 있는 Bitbucket 워크스페이스를 나열합니다. 사용할 워크스페이스 옆의 Connect를 클릭합니다.
사용할 수 있는 워크스페이스가 하나뿐이면 Lovable이 바로 연결하고 이 단계를 건너뜁니다. 이미 Lovable 워크스페이스에 연결된 워크스페이스는 목록에 나타나지 않습니다.
방금 만든 Bitbucket 워크스페이스는 Bitbucket이 짧은 지연 후 활성화하므로 아직 push를 받을 수 없습니다. 워크스페이스를 만든 직후 프로젝트를 연결하면 Lovable이 얼마나 기다려야 하는지 표시합니다. 그 시간이 지난 뒤 다시 시도하세요.
프로젝트를 Bitbucket 저장소에 링크하기
활성 워크스페이스 Bitbucket 연결이 있으면 워크스페이스 또는 프로젝트 admin과 owner가 Lovable 프로젝트를 Bitbucket 저장소에 연결할 수 있습니다.
- 프로젝트를 연결하면 Lovable이 새 Bitbucket 저장소를 만듭니다. 저장소는 private입니다. Bitbucket에서 접근 수준을 직접 바꾸지 않는 한 아무도 코드를 볼 수 없습니다.
- 저장소 이름은 프로젝트 이름을 따릅니다. 워크스페이스에 같은 이름의 빈 저장소가 이미 있으면 Lovable이 그 저장소를 사용합니다. 기존 저장소에 commit이 있으면 새 저장소 이름에 짧은 suffix를 붙입니다.
- 각 Lovable 프로젝트는 하나의 공급자에 있는 하나의 저장소에 연결할 수 있습니다. 프로젝트가 이미 GitHub 또는 GitLab과 동기화 중이면 해당 공급자에서 프로젝트 연결을 해제할 때까지 Project settings → Git에 Bitbucket card가 나타나지 않습니다.
프로젝트의 Bitbucket 설정 열기
Project settings → Git → Bitbucket을 엽니다.
프로젝트 연결
Connect project 아래에서 새 저장소를 만들 Bitbucket 워크스페이스 옆의 Connect를 클릭합니다.
Lovable은 새 Bitbucket 저장소를 만들고 양방향 sync를 자동으로 시작합니다.
Bitbucket 저장소를 삭제하거나 Lovable 워크스페이스에 연결되지 않은 Bitbucket 워크스페이스로 이동하지 마세요. 그러면 sync가 깨지고 Lovable이 프로젝트를 업데이트할 수 없습니다. 저장소나 Bitbucket 워크스페이스 이름은 바꿀 수 있습니다. Lovable은 둘 다 자동으로 추적합니다.
프로젝트 저장소 sync 관리하기
프로젝트를 Bitbucket 저장소에 연결하면 프로젝트의 Bitbucket 설정에서 다음을 볼 수 있습니다.
- 저장소 status가 Connected로 표시
- Lovable과 Bitbucket이 같은 commit에 있는지 보여주는 Sync status card
- 활성 branch 이름이 있는 branch picker(Bitbucket branch가 Lovable과 동기화됨)
- Clone URL(HTTPS, SSH)
- View on Bitbucket 옵션(dropdown에서 사용 가능)
- Disconnect 옵션(dropdown에서 사용 가능)
Lovable은 한 번에 하나의 branch만 편집하고 동기화합니다. 기본값은 main branch입니다. 현재 활성 branch에 push된 변경 사항은 Lovable로 다시 동기화됩니다.
sync status card에 Lovable and Bitbucket have diverged가 표시되면 Lovable과 Bitbucket 양쪽에 서로 갖고 있지 않은 commit이 있다는 뜻입니다. Lovable은 문제 해결에 설명된 대로 동기화 branch가 아니라 lovable-sync branch에 변경 사항을 push하며, 다음 Bitbucket sync는 Lovable의 branch 버전을 Bitbucket 버전으로 대체합니다. Re-check는 branch를 다시 비교할 뿐 아무것도 동기화하지 않습니다.
Branch 전환
프로젝트의 Bitbucket 설정에서 branch picker를 사용해 Lovable이 편집하고 동기화할 branch를 바꿉니다.
- branch picker를 클릭합니다.
- branch를 검색하거나 선택합니다.
- 전환할 branch를 클릭합니다.
Lovable은 전환한 branch를 즉시 편집하고 동기화하기 시작합니다.
언제든지 기본 branch로 다시 전환할 수 있습니다.
새 branch 만들기
Lovable을 떠나지 않고 같은 picker에서 branch를 만들 수 있습니다.
- branch picker를 클릭합니다.
- 목록 하단의 Create branch를 클릭합니다.
- branch 이름을 입력합니다. Lovable은 빈 이름, 잘못된 문자, 중복을 검증합니다.
Branch 이름은 Git naming rule을 따라야 합니다. 공백,
.., 앞뒤의 점이나 dash,\~ ^ : ? \* \[ ] \\같은 특수 문자는 사용할 수 없습니다.
Lovable은 현재 활성 branch를 source로 삼아 새 branch를 만듭니다(dialog에 Source: <active branch>로 표시). Lovable은 새 branch로 자동 전환하고 그 branch를 편집·동기화하기 시작합니다.
source는 저장소의 default branch가 아니라 현재 활성 branch입니다. main에서 새 feature branch를 시작하려면 먼저 main으로 전환한 뒤 새 branch를 만드세요.
Lovable이 프로젝트를 편집하는 동안에는 branch를 전환하거나 새 branch를 만들 수 없습니다.
저장소를 로컬로 clone하기
프로젝트를 연결하면 Lovable은 다음 clone URL을 제공합니다.
- HTTPS
- SSH
저장소를 로컬로 clone한 뒤 선호하는 IDE에서 계속 작업할 수 있습니다.
Commit 저작자 표시
Lovable이 만든 commit의 author는 Lovable bot identity입니다. commit log에서 author는 이 identity의 이전 이름인 gpt-engineer-app[bot]으로 표시되며, Bitbucket은 이를 계정에 연결하지 않습니다. Lovable은 워크스페이스를 연결한 Atlassian 계정의 authorization을 통해 commit을 push합니다. 그 계정이 반드시 변경을 만든 멤버인 것은 아니며, Lovable은 Bitbucket 저장소에 Co-authored-by line을 추가하지 않습니다.
각 commit을 누가 트리거했는지 기록하려면 workspace settings에서 Include member email addresses in commits를 활성화하세요. Commit attribution을 참조하세요(Business 및 Enterprise 플랜).
프로젝트를 Bitbucket에서 연결 해제하기
프로젝트를 연결 해제하면 Lovable은 프로젝트와 Bitbucket 저장소 사이의 링크를 제거합니다.
연결을 해제하면 다음이 발생합니다.
- Sync가 중지됩니다. Lovable과 Bitbucket 사이의 양방향 연결이 끝납니다.
- 저장소는 Bitbucket에 남습니다. 모든 history와 file이 그대로 유지됩니다.
- 프로젝트와 코드는 Lovable에 남습니다. 이후 변경 사항은 Lovable 안에만 저장됩니다.
프로젝트 연결을 해제해도 Lovable은 워크스페이스 연결을 유지합니다.
워크스페이스 또는 프로젝트 admin과 owner는 프로젝트의 Bitbucket 설정에서 연결을 해제할 수 있습니다. 활성 저장소 연결에서 dropdown을 열고 Disconnect를 선택한 뒤 저장소 이름을 입력해 확인하고 Disconnect를 클릭합니다.
프로젝트에 다시 Bitbucket이 필요하면 사용할 수 있는 아무 연결에나 링크할 수 있습니다. 나중에 다시 연결하면 다음이 발생합니다.
- Lovable이 프로젝트의 현재 버전으로 새 저장소를 만듭니다.
- 원래 저장소는 Bitbucket에 변경 없이 남지만 더 이상 Lovable에 연결되지 않습니다.
워크스페이스 Bitbucket 연결에서 프로젝트 unlink하기
워크스페이스 admin과 owner는 연결 전체를 삭제하지 않고 특정 프로젝트만 연결에서 제거할 수 있습니다. 연결은 다른 프로젝트에서 계속 사용할 수 있습니다.
Bitbucket 설정 열기
Workspace settings → Git → Bitbucket을 엽니다.
연결 열기
관리할 연결을 엽니다.
프로젝트 선택
Linked projects 아래에서 unlink할 프로젝트를 체크합니다.
확인
- Unlink N projects를 클릭합니다(
N은 선택한 프로젝트 수). - Unlink를 클릭해 확인합니다.
unlink된 프로젝트는 더 이상 이 연결을 통해 동기화되지 않습니다.
워크스페이스 Bitbucket 연결 삭제하기
워크스페이스 admin과 owner는 Bitbucket 연결을 삭제할 수 있습니다.
워크스페이스 Bitbucket 연결을 삭제하면 Lovable은 다음을 수행합니다.
- 모든 프로젝트에서 연결 제거
- 링크된 프로젝트의 sync 중지
- Bitbucket 워크스페이스에서 Lovable webhook 제거
- Bitbucket의 저장소는 유지
- 저장된 자격 증명 삭제
삭제한 연결은 복원할 수 없습니다. 해당 연결을 사용하던 프로젝트는 워크스페이스 admin 또는 owner가 새 연결을 추가하고 각 프로젝트를 다시 연결할 때까지 동기화가 중지됩니다.
Bitbucket 설정 열기
Workspace settings → Git → Bitbucket을 엽니다.
제거할 연결 열기
목록에서 연결을 선택합니다.
링크된 프로젝트 검토
의도치 않게 Bitbucket sync를 제거하지 않도록 연결을 삭제하기 전에 Linked projects 섹션을 신중히 검토합니다.
삭제
Delete this connection 아래에서 Delete를 클릭하고, 연결 이름을 입력해 확인한 뒤 Delete를 클릭합니다.
제한 사항
Bitbucket Git sync 통합은 현재 다음을 지원하지 않습니다.
- Bitbucket Data Center 또는 Bitbucket Server. Lovable은 Bitbucket Cloud(bitbucket.org)만 지원합니다.
- 기존 Bitbucket 저장소를 Lovable로 가져오기. Lovable에서 Bitbucket으로 내보내기만 가능합니다.
- 연결 해제 후 같은 저장소에 다시 연결하기. 다시 연결하면 Lovable이 새 저장소를 만듭니다.
- 같은 Bitbucket 워크스페이스를 두 번 이상 연결하기.
- Lovable 워크스페이스에 연결되지 않은 Bitbucket 워크스페이스로 이동한 저장소 따라가기.
FAQ
문제 해결
문제가 발생하면 Lovable은 영향을 받은 프로젝트의 Bitbucket 설정에 Connection lost 메시지와 Reconnect 버튼을 표시합니다.