GitHub 기초 & 원격 연계 실습 예시

저장소 생성·원격 연결·올리고 받기(push·pull)를 난이도별 시나리오로 따라 하는 가이드  |  ← 레퍼런스 문서로 돌아가기

대상 버전GitHub 웹/CLI · gh 2.x · 2026-06 기준
이 파일의 목적매뉴얼의 명령·UI를 실제 상황에 적용하는 재현 가능한 실습
레퍼런스 문서GitHub_Manual.html — 각 시나리오에서 링크로 연결됩니다
작성일2026년 6월 16일
● 초급 Getting Started 로컬 git 없이 브라우저만으로 AI 결과물을 첫 원격 저장소에 올린다
G-1 초급 AI 결과물을 웹 UI로 첫 저장소에 업로드
AI에게 부탁해 받은 index.html 한 장을 가지고 있다. 아직 터미널이나 로컬 git은 익숙하지 않아, 브라우저만으로 첫 GitHub 저장소를 만들고 그 파일을 올려 보려 한다. 끝으로 저장소 홈에 보이는 README도 마크다운으로 손봐서 프로젝트 설명을 채우고 싶다.
단계별 실행
  1. 원격 저장소 만들기

    우상단 +New repository를 누른다. 이름을 정하고 Public을 고른 뒤, Add a README file을 체크해 빈 저장소가 아니라 README가 있는 상태로 시작한다.

    # 웹 화면에서 입력하는 값(명령이 아니라 UI 입력 예시)
    Repository name : my-first-site
    Visibility      : Public
    Initialize      : [v] Add a README file
  2. 파일 업로드

    저장소 화면에서 Add file → Upload files로 들어가, 가지고 있는 index.html을 드래그앤드롭한 뒤 아래 커밋 메시지를 적고 Commit changes를 누른다.

    # 커밋 메시지 예시
    Add index.html
  3. README 편집

    저장소 홈의 README.md 우측 연필 아이콘을 눌러 편집 모드로 들어가, 마크다운으로 프로젝트 설명을 채우고 커밋한다.

    # My First Site
    
    AI가 만들어 준 한 장짜리 정적 페이지입니다.
    
    - 파일: `index.html`
    - [프로젝트 보기](index.html)
업로드와 README 편집은 모두 내부적으로 하나의 커밋으로 원격에 기록된다. 즉 브라우저에서 클릭한 "Commit changes"가 곧 로컬에서 git add + git commit을 한 것과 같은 결과를 GitHub 원격에 남긴다. 그래서 로컬 git이 없어도 이력이 차곡차곡 쌓이고, 나중에 git clone으로 이 저장소를 통째로 내 PC에 받아 올 수 있다.
README가 .github·루트·docs 중 한 곳(여기서는 루트)에 있어야 저장소 홈에 자동으로 표시된다. 다른 폴더에 두면 홈에 나타나지 않으니 위치를 그대로 둔다.
● 중급 Daily Workflow 손에 있는 로컬 프로젝트를 원격에 연결하고 push로 올린다 — git ↔ GitHub 잇기
D-1 중급 로컬 프로젝트를 원격에 연결하고 비공개로 push
AI와 함께 만든 프로젝트 폴더가 내 PC에 있고, 아직 GitHub에는 올리지 않은 상태다. 작업 내용이 외부에 노출되면 안 되므로 비공개(private) 저장소로 올리려 한다. gh CLI는 설치돼 있고, 작업은 그 프로젝트 폴더 안에서 진행한다고 가정한다.
단계별 실행
  1. gh 인증

    처음 한 번은 GitHub CLI를 내 계정과 연결해야 한다. 브라우저 방식으로 로그인한다. 이미 인증돼 있으면 이 단계는 건너뛴다.

    gh auth login --web
  2. 로컬 저장소 초기화·커밋

    프로젝트 폴더로 이동해 git 저장소로 만들고, 현재 파일을 모두 담아 첫 커밋을 만든다. (아래 cd 경로는 실제 폴더로 바꾼다.)

    cd my-ai-project
    git init
    git add .
    git commit -m "Initial commit"
  3. 원격 생성 + 연결 + push 한 번에

    현재 폴더(--source=.)를 가리키는 비공개 원격 저장소를 만들고, origin으로 연결한 뒤 곧바로 push까지 한 명령으로 처리한다.

    gh repo create my-ai-project --private --source=. --remote=origin --push
마지막 한 줄은 git ↔ GitHub를 잇는 세 가지 일을 묶어서 한다. ① GitHub에 비공개 원격 저장소를 생성하고, ② 현재 로컬 폴더에 그 주소를 origin이라는 이름의 remote로 추가하고, ③ 방금 만든 로컬 커밋을 원격으로 push한다. 그래서 git remote add origin·git push -u를 따로 입력하지 않아도 연결과 업로드가 자동으로 끝난다. 이후 코드를 고쳐 커밋한 뒤에는 git push만으로 원격에 반영된다.
AI가 생성한 코드에는 API 키나 .env 파일이 섞여 있기 쉽다. git add . 전에 .gitignore로 비밀 파일을 제외했는지 반드시 확인한다. 비공개 저장소라도 한 번 커밋된 비밀키는 이력에 남으므로 처음부터 올리지 않는 것이 안전하다.
● 고급 Power User 포크를 클론해 두 원격(origin·upstream)을 운영하고, 템플릿을 갖춘 실험 저장소를 새로 만든다
P-1 고급 포크 클론 + 실험용 저장소 운영
관심 있는 오픈소스를 이미 내 계정으로 포크해 둔 상태다(예: myuser/forked-repo). 이 포크를 로컬로 가져와 AI 수정의 바탕으로 삼고, 동시에 떠오른 아이디어를 시험할 깨끗한 실험 저장소도 라이선스·.gitignore까지 갖춰 새로 만들려 한다. gh 인증은 끝나 있다고 가정한다.
단계별 실행
  1. 포크 클론

    내 포크를 단축 형식으로 클론한다. 포크를 클론하면 원본(부모) 저장소가 upstream이라는 이름으로 자동 추가된다.

    gh repo clone myuser/forked-repo
  2. 원격 구성 확인 + 원본 최신 받기

    클론한 폴더로 들어가 remote 목록을 확인한다. 내 포크가 origin, 원본이 upstream으로 잡혀 있어야 한다. fetch로 원본의 최신 커밋만 받아 두면 합치기 전에 무엇이 바뀌었는지 안전하게 볼 수 있다.

    cd forked-repo
    git remote -v          # origin=내 포크, upstream=원본
    git fetch upstream     # 원본 최신을 받아만 둠(합치지 않음)
  3. 실험용 저장소 생성

    별도의 빈 실험 저장소를 MIT 라이선스·Python용 .gitignore·README를 갖춰 만들고 곧바로 로컬에 클론한다.

    gh repo create my-experiment --public --license=mit --gitignore=Python --add-readme --clone
포크 클론은 두 개의 원격을 함께 구성한다. origin은 내 포크(내가 push하는 곳), upstream은 원본(최신 변경을 가져올 곳)이다. git fetch upstream은 원본 변경을 받아만 두므로, 합칠 준비가 되면 git merge upstream/main으로 내 작업에 반영한다. 한편 마지막 명령의 --license·--gitignore·--add-readme는 GitHub 서버에서 해당 템플릿을 채워 저장소를 생성한 뒤, --clone으로 그 결과를 로컬에 내려받는다.
--gitignore·--license에 넣는 템플릿명(예: Python, mit)은 GitHub가 제공하는 목록을 따른다. 이름이 맞지 않으면 생성이 거부되므로, 확실치 않을 때는 인자 없이 gh repo create를 실행해 대화형으로 목록에서 고르는 편이 안전하다.

GitHub 웹/CLI · gh 2.x 기준 | 2026년 6월 16일 작성
← GitHub 기초 & 원격 연계 매뉴얼