Skip to content

hoorak17/github-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

GitHub 사용법 실습 정리 (올리기 / 내리기 / 최초 업로드 / clone)

목적

GitHub와 로컬 PC를 연결하고
코드를 올리고(push), 내리고(pull/clone),
처음으로 GitHub에 업로드하는 과정을 실습하며 정리한다.

이 문서 하나만 보면 다음을 다시 할 수 있도록 한다.

  • GitHub 최초 업로드
  • GitHub에서 프로젝트 내려받기(clone)
  • push / pull 기본 흐름
  • 중첩 저장소(.git 두 개) 방지
  • master / main 브랜치 꼬임 해결

실습 환경

  • Windows
  • VS Code
  • GitHub 개인 계정

GitHub에 처음 코드 업로드하기 🏋️‍♂️ (최초 업로드)

이미 내 컴퓨터에 프로젝트 폴더가 있고,
이걸 처음으로 GitHub repository에 올릴 때 사용하는 방법

이 방법은 git clone과 다르다.

  • git clone : GitHub → 내 컴퓨터
  • 이 섹션 : 내 컴퓨터 → GitHub

1️⃣ Git 저장소 초기화

git init
  • 현재 폴더를 Git 저장소로 만든다
  • .git 폴더가 생성된다

2️⃣ 업로드할 파일 추가

git add .
  • .(점)은 모든 파일을 의미한다
  • 특정 파일만 추가하고 싶다면:
git add index.html

3️⃣ 상태 확인 (선택)

git status
  • 어떤 파일이 staging 상태인지 확인 가능

4️⃣ 히스토리(커밋) 생성

git commit -m "first commit"
  • -m은 message의 약자
  • "first commit"은 예시일 뿐, 아무 메시지나 가능

5️⃣ GitHub repository와 로컬 프로젝트 연결

git remote add origin https://github.com/hoorak17/vacation-practice.git

6️⃣ 연결 확인 (선택)

git remote -v
  • 연결된 GitHub 주소가 출력되면 성공

7️⃣ GitHub로 최초 업로드

git push origin main

GitHub ↔ 내 컴퓨터 연결 (clone)

아직 내 컴퓨터에 프로젝트가 없을 때만 사용

올바른 사용 위치

  • Desktop
  • repos 폴더
  • 아직 Git이 아닌 폴더
git clone https://github.com/hoorak17/vacation-practice.git
  • 동일한 이름의 폴더가 생성된다
  • .git 폴더가 자동으로 생성된다
  • GitHub(origin)가 자동으로 연결된다

이미 .git이 있는 폴더에서 실행하면 중첩 저장소가 생긴다


GitHub에 올리기 (push)

이미 GitHub와 연결된 프로젝트에서 변경 사항 업로드

git add .
git commit -m "커밋 메시지"
git push

GitHub에서 내려받기 (pull)

이미 연결된 프로젝트에서 최신 변경 사항 가져오기

git pull

실습 중 겪은 문제와 해결


상황 1. 커밋했는데 master로 찍히는 경우

[master a9af0fd] 커밋 메시지

원인:

  • 로컬 브랜치가 master
  • 원격 기본 브랜치는 main

해결 (정석):

git branch -m master main
git push -u origin main

상황 2. push 시 fetch first 에러 발생

! [rejected] main -> main (fetch first)

의미:

  • 원격 origin/main
  • 로컬에 없는 커밋(README, initial commit 등)이 있음

해결 방법 A (연습용 / 개인 repo 추천)

git push -u origin main --force
  • 원격 main을 로컬 기준으로 덮어쓴다

해결 방법 B (원격 변경 사항 보존)

git pull --rebase origin main
git push -u origin main

상황 3. master 브랜치를 이미 지웠는데 계속 master로 커밋됨

의미:

  • 원격 master는 삭제됨
  • 로컬 master 브랜치는 아직 존재

확인:

git branch

해결:

git branch -m master main
git push -u origin main

상황 4. master 브랜치를 완전히 제거하고 main만 쓰고 싶을 때

# 로컬 master 삭제
git branch -D master

# 원격 master 삭제
git push origin --delete master

상황 5. PR(Pull Request)이 갑자기 뜨는 경우

  • PR은 허가 요청이 아니다
  • GitHub가 브랜치 병합을 도와주는 화면
  • 개인 실습 repo에서는 무시해도 된다

상황 6. 파일이 안 올라간 것처럼 보일 때

git branch -M main
git push -u origin main

Git 저장소 중첩 문제 (.git 두 개)

  • repo 하위 폴더에서 다시 git init 또는 git clone 실행 시 발생
  • 프로젝트당 .git하나만 존재해야 한다

최종 체크리스트

git branch        # * main 인지 확인
git remote -v     # origin 정상 연결 확인
git status
git push

한 줄 결론

  • 커밋은 항상 main
  • fetch first → force push 가능(연습 repo)
  • master/main 꼬이면 → 브랜치 이름부터 통일

About

깃허브 사용법 간단정리

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages