studio.soluta

먼저 볼 카드 — Git 기본, 커밋·푸시·머지를 그림으로 이해하기

실습 GitHub

GitHub에 프로젝트 처음 저장하기

이 카드를 다루는 수업 자료를 잘 정리하는 법 Codex부터 GitHub 저장까지

GitHub 저장소의 Code 탭에 저장소 이름, main 브랜치, 최근 커밋, 파일 목록이 보이는 화면
첫 푸시가 끝나면 GitHub 웹에서 저장소 이름, 브랜치, 커밋, 파일을 확인합니다.

GitHub는 프로젝트 파일과 변경 기록을 함께 보관합니다. 계정이 없다면 GitHub 계정과 첫 저장소 만들기를 먼저 열고 가입을 마칩니다. 첫 저장에서는 웹에서 빈 비공개 저장소를 먼저 만들고, 올릴 파일과 제외할 파일을 확인합니다.

저장 전에 공개하면 안 되는 파일을 확인합니다

비밀번호, 토큰, API 키, .env 파일, 고객·직원 개인정보는 비공개 저장소에도 올리지 않습니다. GitHub가 비밀 값을 감지해 푸시를 막으면 차단을 넘기지 않고 파일에서 값을 제거합니다.

웹에서 파일과 커밋을 함께 확인합니다

명령이 성공했다는 답만으로 저장을 끝내지 않습니다. GitHub의 Code 화면에서 저장소 이름, main 브랜치, 최근 커밋, 프로젝트 파일을 확인합니다. 네 항목이 보이면 내 컴퓨터의 기록이 GitHub에도 올라간 상태입니다.

GitHub 저장소 주소는 파일을 보는 주소입니다. 완성한 사이트를 방문자에게 보여 주려면 빌드와 배포가 별도로 필요합니다.

  1. GitHub 계정이 없다면 계정 만들기 안내를 열고 이메일, 비밀번호, 유저네임을 차례로 입력합니다.

    확인오른쪽 위의 프로필을 눌렀을 때 내가 정한 유저네임이 보입니다.

  2. GitHub 오른쪽 위의 더하기 버튼을 누르고 New repository를 누릅니다.

    이 단계의 실제 화면
    GitHub 오른쪽 위의 더하기 버튼을 눌렀을 때 보이는 New repository 메뉴
    화면에서 확인할 것 New repository를 누르면 새 저장소를 만드는 화면으로 이동합니다. GitHub Web · 2026-07-21
  3. Owner에 내 유저네임이 선택되어 있는지 확인합니다.

    확인저장소 주소의 첫 부분에 들어갈 내 유저네임이 보입니다.

  4. Repository name에 영문 소문자와 하이픈으로 이름을 입력합니다. 예시는 my-brand-site입니다.

    이 단계의 실제 화면
    GitHub 저장소 만들기 화면의 Repository name 입력칸
    화면에서 확인할 것 이름 아래에 사용할 수 있다는 표시가 나오면 다음 항목으로 넘어갑니다. GitHub Web · 2026-07-21
  5. 공개 범위에서 Private을 선택합니다.

    확인저장소를 나와 초대한 사람만 볼 수 있다는 설명이 선택됩니다.

  6. README, .gitignore, License를 추가하는 선택은 그대로 두어 빈 저장소로 만듭니다.

    확인저장소를 만들기 전에 새 파일을 추가하지 않은 상태입니다.

  7. Create repository를 누릅니다.

    확인Quick setup 안내가 있는 빈 저장소 화면이 열립니다.

  8. Quick setup에서 HTTPS 저장소 주소를 복사합니다.

    확인`https://github.com/내-유저네임/저장소-이름.git` 모양의 주소를 복사했습니다.

  9. 프로젝트 폴더를 Codex나 Claude Code에서 열고 GitHub 로그인 상태를 확인합니다. 로그인하지 않았다면 브라우저 승인 단계에서 직접 승인합니다.

    이 프로젝트 폴더에서 GitHub 로그인 상태와 로그인한 계정 이름만 확인해 주세요. 로그인하지 않았다면 `gh auth login`을 시작하고, 브라우저에서 제가 승인해야 하는 순간에 멈춰 주세요. 토큰 값은 보여 주지 말고 파일도 고치지 마세요.

    확인로그인한 GitHub 계정 이름이 나오며 토큰 값은 표시되지 않습니다.

  10. 올리면 안 되는 파일이 있는지 확인합니다. 하나라도 있으면 다음 단계로 넘어가지 않습니다.

    이 폴더를 GitHub에 올리기 전에 커밋할 파일과 `.gitignore`를 확인해 주세요. `.env`, 토큰, API 키, 비밀번호, 개인·고객 자료가 있으면 값을 보여 주지 말고 파일 경로와 위험 종류만 알려 준 뒤 멈춰 주세요. 문제가 없으면 커밋할 파일 목록만 보여 주세요.

    확인위험한 파일이 있으면 경로와 종류만 나오고 작업이 멈춥니다. 없으면 커밋할 파일 목록이 보입니다.

  11. 첫 커밋에 들어갈 파일과 커밋 메시지를 미리 확인합니다.

    이 폴더가 아직 Git 저장소가 아니면 main 브랜치로 시작해 주세요. 방금 확인한 안전한 파일만 첫 커밋 후보로 올리고, 바뀐 내용과 커밋 메시지 후보를 보여 주세요. 아직 커밋하거나 GitHub에 푸시하지 마세요.

    확인첫 커밋에 들어갈 파일과 커밋 메시지가 보이며 아직 GitHub에는 올라가지 않습니다.

  12. 복사한 저장소 주소를 넣고 첫 커밋을 만든 뒤 main 브랜치를 푸시합니다.

    제가 GitHub 웹에서 만든 빈 비공개 저장소 주소는 [여기에 복사한 저장소 주소]입니다. 확인한 파일을 첫 커밋으로 기록하고, 이 주소를 origin으로 연결한 뒤 main 브랜치를 푸시해 주세요. 끝나면 저장소 주소, origin 주소, 최근 커밋 한 건을 알려 주세요.

    확인첫 커밋이 생기고, origin이 복사한 저장소 주소를 가리키며, main 브랜치가 GitHub에 올라갑니다.

  13. GitHub 웹에서 저장소 이름, main 브랜치, 최근 커밋, 파일 목록을 확인합니다.

    이 단계의 실제 화면
    GitHub 저장소의 Code 탭에 저장소 이름, main 브랜치, 최근 커밋, 파일 목록이 보이는 화면
    화면에서 확인할 것 주소가 열리는 것만으로 끝내지 않고 네 항목에서 첫 저장 결과를 확인합니다.
    1. 1내가 만든 저장소 이름이 맞는지 확인합니다.
    2. 2현재 기본 브랜치가 main인지 확인합니다.
    3. 3최근 커밋 문구와 시각이 보이는지 확인합니다.
    4. 4프로젝트 파일 목록이 빠짐없이 보이는지 확인합니다.
    GitHub Web · 2026-07-29
  14. 마지막으로 저장소 주소와 연결 상태를 기록합니다.

    방금 만든 GitHub 저장소 주소, `git remote -v`의 origin 주소, 최근 커밋 한 건을 알려 주세요. GitHub 웹에서 확인할 파일 세 개도 골라 주세요.

    확인저장소 주소, origin 주소, 최근 커밋, 확인할 파일 세 개가 함께 나옵니다.

직접 해보기

내 상황에 맞춰
이 프로젝트를 GitHub에 처음 올리려고 합니다. 공개하면 곤란한 파일을 먼저 확인하고, 안전하면 비공개 저장소로 올린 뒤 웹에서 확인할 네 항목을 알려 주세요.
한 단계 더
이 저장소 주소가 공개 사이트 주소인지 확인해 주세요. 저장소 저장 이후에 사이트 발행까지 하려면 어떤 별도 단계가 필요한지, 아직 실행하지 말고 설명만 해 주세요.

수업에서 만든 프로젝트 하나를 비공개 저장소에 올리고 GitHub 웹에서 저장소 이름, main, 최근 커밋, 파일 목록을 확인합니다.

헷갈리기 쉬운 것

비공개 저장소에도 비밀번호, 토큰, API 키, `.env` 파일을 올리지 않습니다. GitHub가 푸시를 막으면 우회하지 말고 비밀 값을 제거합니다. 저장소 주소가 열리는 것만으로 공개 사이트 발행이 끝났다고 판단하지 않습니다.

왜 이렇게 작동하나요

컴퓨터 폴더를 클라우드에 복사하면서 수정 기록도 함께 남기는 것과 같습니다.

커밋이 변경 기록을 만들고 푸시가 그 기록을 GitHub의 origin으로 보냅니다. 웹의 파일 목록과 최근 커밋을 함께 봐야 저장이 실제로 끝났는지 확인할 수 있습니다.

더 알고 싶다면

GitHub 저장소 주소가 공개 사이트 주소입니까?

저장소 주소에서는 파일과 변경 기록을 확인합니다. 완성한 사이트를 방문자에게 보여 주는 주소는 별도로 배포해야 생깁니다. 사이트로 열려면 코드를 브라우저용 파일로 만드는 빌드와 인터넷 주소에 올리는 배포가 더 필요합니다. S4에서는 먼저 비공개 저장을 확인하고, 브랜드 작업의 발행은 수업에 연결된 발행 경로에서 따로 진행합니다.

저장과 배포는 다른 일 카드에서 다룹니다 →
푸시 보호가 비밀 값을 막으면 어떻게 합니까?
  • 막힌 파일에서 비밀 값을 제거하고 해당 파일이 다시 커밋되지 않도록 설정한 뒤 새 커밋으로 다시 시도합니다.
  • 실제로 사용하던 키나 토큰이 커밋 기록에 들어갔다면 해당 서비스에서 폐기하고 새로 발급합니다. 비공개 저장소에 잠깐 들어갔다는 이유로 그대로 사용하지 않습니다.
  • 초보자 실습에서는 차단을 우회하지 않습니다. 무엇이 막혔는지 확인하고 비밀 값을 제거하는 것이 완료 기준입니다.
왜 비공개 저장소로 시작합니까?
  • 처음 올리는 폴더에는 작업 메모나 공개하지 않을 자료가 섞여 있을 수 있어서, 확인을 마칠 때까지 볼 수 있는 사람을 제한합니다.
  • 공개 전환은 파일과 권리를 다시 확인한 뒤 별도로 결정합니다. 비공개 저장소도 비밀번호와 키를 보관하는 곳으로 사용하지 않습니다.

새 상황에 적용

다른 컴퓨터에서 이어받을 수 있는 상태 만들기

프로젝트 하나를 비공개 저장소에 올리고 저장소 주소와 최근 커밋을 작업 기록에 남깁니다.

확인할 결과

GitHub 웹에 프로젝트 파일과 최근 커밋이 보이고 origin 주소가 같은 저장소를 가리킵니다.

막혔을 때 확인할 순서

파일이 보이지 않으면 로컬 커밋 존재 여부와 `git remote -v`, 푸시 결과를 순서대로 확인합니다.

용어 풀이

전체 용어집 →
커밋
지금까지 확인한 변경을 내 컴퓨터에 기록 하나로 남기는 일입니다.
origin
내 컴퓨터의 Git 저장소가 연결한 원격 저장소 주소에 붙이는 이름입니다. 흔히 GitHub 주소를 가리키지만 다른 서버를 가리킬 수도 있습니다.
.gitignore
GitHub에 올리지 않을 파일을 적어 두는 목록입니다.

2026-08-18 기준 · 출처 · GitHub Docs — Creating an account on GitHub, GitHub Docs — Creating a new repository, GitHub CLI — gh auth status, GitHub Docs — Keeping your API credentials secure, GitHub Docs — About push protection