Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Publishing Posts

yunkooo edited this page Apr 22, 2026 · 4 revisions

Publishing Posts

이 문서에서 해결하는 것: blog-posts에서 작성한 글을 production에 게시하는 방법을 설명합니다.

빠른 게시 절차

이미 blog-posts에 글을 push했다면, blog 저장소에서 아래 명령만 실행하면 됩니다.

cd /Users/koo/Desktop/dev/blog
git -C content-source/posts pull --ff-only origin main
git status
git add content-source/posts
git commit -m "Update posts"
git push origin main

이 흐름은 blog-posts의 최신 글 커밋을 content-source/posts submodule에 가져온 뒤, blog 저장소가 바라보는 submodule pointer를 갱신해 배포를 트리거합니다.

핵심 개념

blog-posts는 글을 쓰는 공간입니다.
blog는 어떤 글 버전을 production에 올릴지 결정하는 공간입니다.

즉, blog-posts에 push만 해서는 공개되지 않습니다. blog 저장소의 submodule pointer가 그 글 커밋을 가리켜야 공개됩니다.

1. blog-posts에서 글 작성

content-source/posts로 이동합니다.

cd content-source/posts

.mdx 글을 작성하거나 기존 글을 수정합니다.

git status
git add .
git commit -m "Add new post"
git push origin main

2. blog 저장소로 돌아오기

cd ../..

로컬 content-source/posts가 아직 원격 최신 커밋을 가져오지 않았다면 먼저 업데이트합니다.

git -C content-source/posts pull --ff-only origin main

이제 blog 저장소 입장에서는 content-source/posts submodule pointer가 변경된 상태입니다.

확인합니다.

git status

정상이라면 아래처럼 submodule 경로가 변경된 것으로 보입니다.

 M content-source/posts

3. submodule pointer 커밋

git add content-source/posts
git commit -m "Publish posts"

이 커밋은 글 파일 전체를 복사하는 커밋이 아닙니다. blog 저장소가 사용할 blog-posts 커밋 SHA를 갱신하는 커밋입니다.

4. main에 push

git push origin main

main에 push되면 GitHub Actions가 실행됩니다.

5. 배포 확인

GitHub에서 아래 경로를 확인합니다.

Actions → Deploy to Vercel

성공하면 Vercel production에 반영됩니다.

실제 반영 예시

blog-posts에 새 글 building-my-blog-with-nextjs-mdx.mdx를 push한 뒤, blog 저장소에서 다음 작업을 진행했습니다.

  1. content-source/postsorigin/main 최신 커밋으로 fast-forward했습니다.
  2. blog 저장소에서 content-source/posts submodule pointer 변경을 커밋했습니다.
  3. blog 저장소의 main에 push해 GitHub Actions 배포를 트리거했습니다.

이때 만들어진 blog 저장소 커밋 메시지는 아래처럼 단순하게 작성하면 됩니다.

Update posts

주의

CI는 blog-posts의 최신 main을 자동으로 따라가지 않습니다.
항상 blog 저장소에 커밋된 submodule pointer가 가리키는 글 커밋만 배포합니다.

이 규칙 덕분에 private 저장소에서 초안을 자유롭게 수정해도, 명시적으로 게시하기 전까지 production이 바뀌지 않습니다.

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /