선택
Overleaf
Windows의 VS Code에서 사용하는 GitHub 저장소를 Overleaf에 가져와 브라우저 협업을 연결합니다. GitHub와 Overleaf 사이의 Pull과 Push는 직접 실행합니다.
GitHub Sync 사용 조건
GitHub Sync는 Overleaf의 유료 기능입니다. 개인 구독 외에 단체 구독이나 Overleaf Commons를 통해 사용할 수도 있으므로, 계정에서 기능이 제공되는지 확인합니다.
Overleaf Account Settings에서 아래 예시의 GitHub Sync 항목을 확인합니다. 이메일 옆의 Professional 표시가 아니라, 해당 기능의 사용 가능 여부를 확인합니다. 사용할 수 없다면 이 연동 절차는 진행할 수 없습니다.
GitHub 연결
Account Settings > Project Synchronisation의 GitHub Sync에서 GitHub.com 계정을 연결하고, 사용할 저장소에 접근할 수 있는지 확인합니다. Git integration은 Overleaf 프로젝트를 별도 Git 원격 저장소로 사용하는 기능입니다.
기존 이미지는 연결이 완료되어 Unlink가 보이는 상태입니다. 새로 연결하는 계정에는 연결 동작이 표시됩니다.
GitHub에서 가져오기
Overleaf의 New Project > Import from GitHub에서 기존 GitHub 저장소를 선택해 연결된 새 Overleaf 프로젝트를 만듭니다. Overleaf 편집 이력과 GitHub 커밋 이력은 각각 기록되며, 두 서비스 사이의 변경은 수동으로 동기화합니다. 기존 Overleaf 프로젝트를 기존 GitHub 저장소에 나중에 직접 연결할 수는 없습니다.
아래 기존 화면에서 Import from GitHub를 선택합니다.
목록에서 소유자와 저장소 이름을 확인하고 연결할 GitHub.com 저장소의 Import to Overleaf를 누릅니다. 저장소가 보이지 않으면 연결한 GitHub 계정의 접근 권한을 확인합니다.
Overleaf에는 프로젝트 크기와 파일 수 제한이 있으며 Git LFS와 하위 모듈을 지원하지 않습니다. 자료가 많은 저장소라면 가져오기 전에 Overleaf의 GitHub Sync 제한 사항을 확인합니다.
Overleaf에서 작업하기
가져온 프로젝트가 Overleaf 편집기에서 열리면 Share로 초대한 협업자가 브라우저에서 편집할 수 있습니다. Overleaf에서 저장한 변경은 GitHub에 자동으로 반영되지 않으므로, 작업을 마친 뒤 GitHub Sync를 실행합니다.
GitHub와 동기화하기
Overleaf 프로젝트의 Integrations > GitHub를 열어 동기화 상태를 확인합니다. GitHub에 새 커밋이 표시되면 Pull로 가져와 내용을 살펴봅니다. Overleaf 변경을 GitHub로 보내는 Push는 별도로 실행합니다.
아래 기존 화면의 GitHub 항목은 동기화 창을 여는 버튼입니다.
Overleaf에서 바뀐 내용을 확인한 뒤 Push Overleaf changes to GitHub를 눌러 GitHub에 커밋을 만듭니다. 이후 로컬 VS Code에서 Pull해 그 커밋을 가져옵니다.
Overleaf에서 Push할 때 커밋 메시지를 입력할 수 있습니다. GitHub에는 연결된 계정이 커밋 작성자로 표시되므로, 공동 작업자의 개별 편집 이력은 Overleaf 안에서 따로 확인합니다.
양쪽에서 같은 부분을 수정해 동기화가 충돌하면 Overleaf가 별도 브랜치를 GitHub에 만들 수 있습니다. 이 경우 그 브랜치를 기본 브랜치에 병합하고 동기화 상태를 다시 확인합니다.
아래 항목이 모두 맞는지 확인하세요.
- 기존 GitHub 저장소에서 연결된 Overleaf 프로젝트를 만들었다
- Overleaf 프로젝트가 의도한 GitHub 저장소에 연결돼 있다
- Overleaf Push 후 GitHub 커밋을 확인하고 로컬 VS Code에서 Pull했다
- 충돌로 별도 브랜치가 생겼다면 기본 브랜치에 병합했다