춘기IT/춘기개발

Git/GitHub 정리

화춘기 2025. 6. 30. 11:17

Git: 코드의 변경점을 기록, 버전을 관리해주는 도구 (형상 관리 도구)

🛠 소프트웨어의 변경사항을 체계적으로 추적 통제 하는 것

Git은 여러 사람이 동시에 코드를 작업할 때 변경 이력을 관리하고 충돌을 방지하는 버전 관리 시스템

필요한 이유
- 여러 사람이 같은 파일 수정시 누군가의 작업이 덮어쓰여질 수 있음
- 실수로 잘못된 코드 작성시 되돌리기
- 언제, 누가, 어떤 변경을 했는지 기록 필수

→ Git 사용시 코드의 모든 변경 내역을 기록하고 원하는 시점으로 되돌릴 수 있음

 

Github: 백업과 공유가 가능한 온라인 코드 저장소

☁️ Github로 백업, 공유, 협업 가능

 

👉 Git은 도구 / Github는 공유할 수 있는 장소


Mac에서 Git 설치하기

1. Terminal 에서 brew install git 작성 후 엔터

2. git -v 작성 후 엔터 → git 버전 확인

 

Git 관련 용어

1. Repository: git으로 관리하는 프로젝트 저장소

2. git commit: 프로젝트의 변경사항을 git 저장소에 저장

3. git push: commit된 파일을 원격 레포지토리에 반영

4. git pull: 레포지토리에 있는 코드를 가져오고 현재 내 로컬 환경에 자동으로 병합(merge)

 

Git Graph plug-in 설치 

 

GitHub 가입 후 계정 생성


Git 사용자 정보 등록 (처음 한번만 하면 됨)

ㄴ 터미널 (또는 Git Bash, CMD)에서 아래 명령어 입력

 

- 깃허브 아이디 저장: git config --global user.name (github아이디) 작성 후 엔터

// 깃허브 아이디 저장 예시

git config --global user.name chungi

 

- 깃허브 이메일 저장: git config --global user.email (github 이메일) 작성 후 엔터

//깃허브 이메일 저장 예시

git config --global user.email chungiID@gmail.com

 

- 반영된 계정 정보 확인

// 반영된 계정 정보 확인

git config --list

 

프로젝트 폴더로 이동

cd ~/폴더명 작성 후 엔터

 

로컬 저장소 초기화

//로컬 저장소 초기화
git init

//원격 저장소 추가
git remote add origin https://github.com/사용자이름/저장소이름.git

 

파일 추가

git add .

 

Commit

- 로컬저장소에 작업 내용을 저장

git commit -m "initial commit"
//커밋할 때는 항상 "이 작업이 무엇인지" 설명하는 메시지 함께 작성

 

git push

- 로컬저장소에서 만든 커밋을 Github 같은 원격 저장소에 올리는 행위로

  이렇게 해야 작업한 내용이 원격 서버에 저장되어 다른 사람도 볼 수 있고, 백업도 가능

- push를 해야 내 커밋이 깃허브 저장소에 반영됨

git push

 

403권한 거부 에러

- The requested URL returned error: 403 > Github 저장소에 접근 권한이 없어서 발생

 

1. HTTPS 인증 문제

   - PAT(Personal Access Token) 인증만 지원 > 기존 비밀번호 대신 PAT 사용

   - repo 권한 포함한 토큰 생성

   - 이후 git 명령어 실행 시 비밀번호 대신 이 토큰 입력

 

2. 토큰 또는 인증 정보가 캐시되어 잘못된 인증 시도

   - 로컬에 저장된 이전 자격증명 때문에 오류가 계속 발생할 수 있음

   - macOS - Keychain Access 앱에서 Github 관련 자격증명삭제

   - 터미널에서 자격증명 삭제

git credential-osxkeychain erase //입력 후 엔터
host=github.com //입력 후 엔터
protocol=https //입력 후 엔터

//빈 줄에서 한번 더 엔터

 

   - 다시 push, clone 등을 할 때 사용자명과 패스워드 대신 토큰 입력!

 

3. 저장소 권한 확인

   - 해당 저장소에 대해 읽기/쓰기 권한이 있는지 확인

   - 권한이 없으면 소유자에게 권한 요청 필요

 

4. 자격증명 지운 후 원격 저장소 권한 인증

git push -u origin master //또는 git push -u origin main

 

   - 명령어 입력 후, 사용자 이름(Github ID) / Personal Access Token(PAT) 입력


사용/업데이트

//새로운 프로젝트 시작
#현재 폴더를 git 저장소로 만들기
git init

#기존 Github 저장소를 내 컴퓨터로 복사
git clone [원격저장소 URL]

//파일 변경 사항 저장하기
#변경된 모든 파일을 커밋 준비 상태로 추가
git add .

#해당 파일만 커밋 준비 상태로 추가 (스테이지에 올림)
git add 파일명

#변경 사항을 기록 (메시지는 수정 내용을 간단히 설명)
git commit -m "변경 내용" 

//Github와 동기화하기
#로컬 커밋을 원격 저장소(Github)로 보냄
git push

#변경 사항을 원격 저장소로 업로드
git push origin main  # (또는 master)

#원격 저장소에서 최신 변경 사항 가져오기
git pull origin main  # (또는 master)

//브랜치(새로운 작업 공간 만들기)
#새로운 브랜치 만들기
git branch [브랜치명]

#특정 브랜치로 이동
git checkout [브랜치명]

#브랜치 목록 확인
git branch