디스호스트 Git 설정 점검 가이드

2026년 4월 22일·7개 메시지

이 글에서는 디스호스트에 배포한 디스코드 봇이 시작 시 필요한 파일을 못 불러올 때 점검하고 해결하는 절차를 정리한다. 주로 브랜치 지정 문제와 원격에 브랜치가 푸시되지 않은 경우를 다룬다.

증상

디스호스트에서 서비스 시작 변수(예: 시작 스크립트나 엔트리 파일)를 설정했음에도 불구하고 서비스가 파일을 로드하지 못하고 실패한다. 저장소가 공개(public)임에도 파일 접근이 되지 않는다.

원인

  • 디스호스트에 설정한 브랜치명과 실제 원격 저장소의 브랜치가 일치하지 않음. 로컬에만 존재하고 원격에 푸시되지 않은 브랜치일 수 있음.
  • 엔트리 파일이 다른 브랜치(예: main)에만 존재하는데 디스호스트는 다른 브랜치(예: feature/ticket)를 가져오도록 설정되어 있음.
  • 디스호스트가 원격을 정상적으로 클론/체크아웃하지 못했는지 로그에 에러가 발생함(네트워크나 권한 문제는 공개 저장소라면 가능성 낮음).

해결 방법

1단계: 원격 브랜치 존재 여부와 파일 유무 확인

로컬에서 먼저 현재 브랜치와 원격 상태를 확인한다.

# 현재 브랜치 확인
git rev-parse --abbrev-ref HEAD

# 로컬/원격 브랜치 목록
git branch -a

# 원격에 해당 브랜치가 있는지 확인
git ls-remote origin refs/heads/feature/ticket

원격에 브랜치가 없다면 푸시한다.

git push origin feature/ticket

원격 브랜치에 엔트리 파일이 실제로 있는지 확인한다(파일 경로를 실제 엔트리 파일로 바꿔 사용).

# 원격 브랜치 내부 파일 목록 확인
git ls-tree -r feature/ticket --name-only

# 특정 파일 내용 확인
git show feature/ticket:src/index.js

공개 저장소라면 raw URL로 직접 접근해 파일이 노출되는지 확인할 수 있다.

curl -I https://raw.githubusercontent.com/<user>/<repo>/feature/ticket/path/to/file

2단계: 디스호스트 설정과 로그 점검

디스호스트에서 배포 설정에 입력한 레포지토 URL브랜치명을 재확인한다. 엔트리 파일 경로(예: start 스크립트, index.js)가 브랜치와 일치하는지 확인한다. 필요 시 브랜치를 main으로 변경하거나 엔트리 파일을 설정한 브랜치에 복사한다.

디스호스트의 배포/실행 로그를 확인해 클론 및 체크아웃 단계에서 어떤 메시지가 나오는지 본다. 정상적이라면 다음과 비슷한 로그가 나온다.

  • Cloning into 'repo'...
  • Checking out files: 100%
  • Running start script: npm run start

파일을 찾지 못하거나 체크아웃 실패가 있으면 로그에 관련 에러(예: file not found, path not found, checkout failed)가 표시된다. 로그에 따라 브랜치/경로를 재설정하거나 원격 푸시를 재시도한다.

추가로, 로컬에서 브랜치명을 바꾸거나 리모트에 푸시한 후 디스호스트에서 배포를 재시작하여 변경이 반영되는지 확인한다.

마무리

디스호스트에서 파일이 로드되지 않을 때는 먼저 원격 브랜치 존재 여부와 파일 위치를 확인하고, 디스호스트 설정의 브랜치/경로를 일치시키면 대부분 해결된다. 공개 저장소라면 git ls-remotecurl로 접근 가능 여부를 빠르게 점검할 수 있다.