1273 단어
6 분
Git 기본 사용 방법(fit. github)

개발을 하다 보면 Git 관련 다양한 상황에 부딪히게 됩니다.
이 게시물에서는 프로젝트 초기 설정 및 첫 커밋, 코드 수정 후 커밋, 최신 커밋 적용 방법 그리고 강제 push 방법 등 여러 상황에 따른 Git 사용법을 단계별로 정리해보겠습니다.


1. 프로젝트 초기 설정 및 첫 커밋#

프로젝트를 처음 시작할 때는 아래와 같은 단계로 Git을 초기화하고 첫 커밋을 생성할 수 있습니다.

  1. 프로젝트 폴더 생성
    작업할 디렉토리를 생성하고 해당 폴더로 이동합니다.

    mkdir my_project
    cd my_project
    
  2. Git 초기화
    해당 폴더에서 Git 저장소를 초기화합니다.

    git init
    
  3. 파일 추가 및 첫 커밋 생성
    예를 들어, 기본 문서를 추가하고 초기 커밋을 만듭니다.

    echo "# My Project" > README.md
    git add .
    git branch -M main
    git commit -m "Initial commit"
    
  4. GitHub 저장소 생성

GitHub에 접속하여 원격 저장소를 생성합니다.

  1. GitHub에 로그인합니다.
  2. 오른쪽 상단의 ”+” 버튼을 클릭하고 **“New repository”**를 선택합니다.
  3. 저장소 이름, 설명 등을 입력하고 “Create repository” 버튼을 눌러 저장소를 만듭니다.

생성 후, GitHub는 로컬에서 연결할 수 있도록 저장소 URL(예: https://github.com/username/repository.git)을 제공합니다.

  1. 원격 저장소 등록

로컬 저장소와 GitHub의 원격 저장소를 연결하려면 아래 명령어를 사용합니다.

  1. 원격 저장소 추가
    GitHub에서 제공받은 URL을 사용하여 원격 저장소를 추가합니다.

    git remote add origin https://github.com/username/repository.git
    

    여기서 origin은 원격 저장소의 기본 이름으로 사용되며, 상황에 따라 다른 이름을 사용할 수도 있습니다.

  2. 원격 저장소 확인
    등록된 원격 저장소를 확인합니다.

    git remote -v
    

이제 프로젝트 폴더에 Git이 적용되었으며, 첫 커밋이 성공적으로 기록되었습니다.

  1. git push를 통한 커밋 업로드

원격 저장소와 로컬 저장소가 연동되면, 커밋한 변경사항을 GitHub에 업로드할 수 있습니다.

  1. 최초 push 시 브랜치 설정
    처음 push할 때는 -u 옵션을 사용하여 기본 브랜치를 설정합니다.

    git push -u origin main
    
    NOTE

    기본 브랜치명이 main이 아닌 경우 master 또는 다른 브랜치명을 사용하세요.

  2. 이후 push
    추가적인 커밋 후에는 단순히 아래 명령어로 변경사항을 업로드할 수 있습니다.

    git push
    

2. 코드 수정 후 커밋#

프로젝트 개발 중 코드를 수정한 후에는 아래 단계로 변경사항을 커밋할 수 있습니다.

  1. 현재 상태 확인
    어떤 파일이 수정되었는지 확인합니다.

    git status
    
  2. 수정된 파일 추가
    변경된 파일을 스테이징 영역에 추가합니다.

    git add 파일이름.py
    

    여러 파일을 한 번에 추가할 수도 있습니다. 보통 이걸 많이 사용합니다.

    git add .
    
  3. 커밋 생성
    변경 사항에 대해 설명하는 커밋 메시지와 함께 커밋을 생성합니다.

    git commit -m "Fix: 버그 수정 및 코드 개선"
    

이제 수정된 사항들이 새로운 커밋으로 기록되어 버전 관리가 용이해집니다.

  1. 이후 push
    이후 필요하다면 push로 원격저장소에 업로드합니다. 보통 협업시에는 이렇게 업로드해야 됩니다.
    git push
    

3. 최신 커밋 적용 방법 (Pull)#

협업 프로젝트에서 다른 팀원이 먼저 커밋을 올렸을 경우, 최신 커밋을 반영해야 합니다. 아니면 push가 안됩니다.
이때는 아래와 같이 최신 커밋을 받아옵니다.

git pull origin main
  • git pull: 원격 저장소의 최신 커밋을 로컬 저장소에 병합합니다.
  • origin: 원격 저장소의 기본 이름입니다.
  • main: 작업 중인 브랜치 이름으로, 상황에 따라 master 또는 다른 브랜치명이 될 수 있습니다.

업데이트 후 충돌(conflict)이 발생하면 충돌 해결 과정을 거치면 됩니다.


4. 강제 올리는 방법 (Force Push)#

가끔 로컬 커밋 히스토리를 수정하거나 재정렬(rebase)한 후 원격 저장소에 반영해야 하는 경우가 있습니다.
이때 강제 push를 사용합니다. 그러나 이 방법은 매우 주의해서 사용해야 하며, 협업 중이라면 다른 팀원과 충분한 협의 후 진행해야 합니다.

git push --force origin main
  • —force: 로컬 변경 사항을 원격 저장소에 강제로 덮어씁니다.
CAUTION

원격 저장소의 커밋 히스토리가 재작성되므로, 다른 팀원이 동일한 브랜치에서 작업 중이라면 충돌이 발생할 수 있습니다.