본문 바로가기

IT 용어

Git 기초 가이드 : 처음 시작하는 분들을 위해- 따라하기만 하세요

반응형

Git은 코드의 변경 이력을 관리하고, 여러 사람과 협업할 수 있게 도와주는 버전 관리 시스템(VCS)입니다. 처음 접하는 분들도 쉽게 따라할 수 있도록 Git의 기본 개념과 필수 명령어를 알아보겠습니다. 

 

아래는 간단하게 cheatsheet로 구성 되어 있습니다. 실습이 필요하시지 않은 분은 아래 글로 클릭 부탁 드립니다.

2024.09.21 - [IT 용어] - [GitHub&Git Cheat Sheet] 협업 시 필수 명령어 - 무조건 외우세요


1. Git 설치 및 계정 설정하기

Git 설치를 완료했다면, 먼저 사용자 정보를 설정해야 합니다.

# 사용자 이름과 이메일 설정
git config --global user.name "사용자이름"
git config --global user.email "이메일주소"

# 계정 설정 확인
git config -l
  • 설명: Git에서 커밋할 때 사용되는 사용자 이름과 이메일을 설정합니다. --global 옵션을 사용하면 모든 프로젝트에 동일한 설정이 적용됩니다. 설정이 제대로 되었는지 확인하려면 git config -l 명령어를 사용합니다.

2. Git 필수 명령어 알아보기

Git을 사용할 때 자주 쓰이는 기본 명령어들을 소개합니다.

git init      # 새로운 Git 저장소 초기화
git add       # 변경된 파일을 스테이징 영역에 추가
git commit    # 스테이징된 변경 사항을 커밋
git status    # 저장소의 현재 상태 확인
git push      # 로컬 커밋을 원격 저장소에 푸시
git clone     # 원격 저장소를 로컬로 복제
git pull      # 원격 저장소의 변경 사항을 가져옴
git branch    # 브랜치 생성 및 목록 확인
git switch    # 다른 브랜치로 이동
git checkout  # 브랜치 이동 또는 특정 커밋으로 체크아웃
git merge     # 브랜치를 병합
  • 설명: 위 명령어들은 Git을 사용하는 데 필수적인 기본 명령어입니다. 각 명령어의 사용법과 기능을 이해하면 Git 활용에 큰 도움이 됩니다.

3. 코드 관리를 시작하자! - git init

git init
  • 설명: 현재 디렉토리를 새로운 Git 저장소로 초기화합니다. 프로젝트를 시작할 때 한 번만 실행하면 되며, 여러 번 실행해도 문제가 발생하지는 않습니다. 정확한 프로젝트 폴더에서 실행해야 합니다.

4. 코드 변경을 저장하자! - git add, git commit, git status

# 변경된 파일을 스테이징 영역에 추가
git add [파일명]  # 특정 파일 추가
git add .         # 모든 변경된 파일 추가

# 스테이징된 변경 사항을 커밋
git commit -m "커밋 메시지"

# 저장소 상태 확인
git status
  • 설명:
    • git add는 커밋할 파일을 스테이징 영역에 추가합니다.
    • git commit은 스테이징된 변경 사항을 커밋하여 로컬 저장소에 기록합니다. 커밋 메시지에는 변경 사항을 명확하게 기술합니다.
    • git status를 통해 어떤 파일이 변경되었는지, 스테이징되었는지 등의 현재 상태를 확인할 수 있습니다.

5. 변경 기록 내역을 확인해보자! - git log

git log
  • 설명: 저장소의 모든 커밋 내역을 확인합니다. 커밋한 사람, 날짜, 커밋 메시지 등을 볼 수 있으며, 코드의 변경 이력을 추적하는 데 유용합니다. 로그 화면에서 나가려면 q를 누릅니다.

6. GitHub의 개념과 사용법

GitHub에 내 프로젝트 백업하기

# 원격 저장소(origin) 추가
git remote add origin https://github.com/사용자명/저장소명.git

# 기본 브랜치 이름 변경(master -> main)
git branch -M main

# 로컬 커밋을 원격 저장소에 푸시
git push -u origin main
  • 설명:
    • git remote add는 원격 저장소를 추가하고 별칭을 설정합니다. 여기서는 origin이라는 이름으로 추가합니다.
    • git branch -M main은 현재 브랜치의 이름을 main으로 변경합니다.
    • git push -u origin main은 로컬의 main 브랜치를 원격 저장소의 main 브랜치로 푸시하고, 추후 git push만으로도 해당 브랜치로 푸시할 수 있게 설정합니다.

7. 추가로 수정된 코드 GitHub에 반영하기 - git push

# 코드 수정 후 변경 사항 스테이징
git add .

# 변경 사항 커밋
git commit -m "수정 내용 설명"

# 원격 저장소에 푸시
git push
  • 설명: 로컬에서 변경한 코드를 저장하고 원격 저장소에 반영하여 팀원들과 공유합니다.

8. 프로젝트 복사본을 만들어보자! - 브랜치 생성

# 새로운 브랜치 생성
git branch [브랜치명]

# 현재 브랜치 목록 확인
git branch
  • 설명: 브랜치는 독립된 작업 공간으로, 새로운 기능을 개발하거나 버그를 수정할 때 사용합니다.

9. 프로젝트 복사본으로 이동하자! - git switch와 git checkout

# 브랜치로 이동 (권장)
git switch [브랜치명]

# 브랜치로 이동 (구버전)
git checkout [브랜치명]

# 브랜치 생성과 동시에 이동
git switch -c [브랜치명]    # 권장
git checkout -b [브랜치명]  # 구버전
  • 설명: git switch는 브랜치를 변경하는 최신 명령어이며, git checkout은 동일한 기능을 수행하지만 다른 용도로도 사용되므로 혼동을 줄이기 위해 switch 사용을 권장합니다.

10. 코드를 합쳐보자! - git merge

# 메인 브랜치로 이동
git switch main

# 작업 브랜치를 메인 브랜치에 병합
git merge [작업 브랜치명]
  • 설명: 작업 브랜치에서 개발한 내용을 메인 브랜치에 합칩니다. 병합 후에는 작업 브랜치를 삭제하여 정리할 수 있습니다.

11. 협업의 핵심! - Pull Request

  • 설명: 실제 협업에서는 로컬에서 git merge를 하기보다는 GitHub에서 Pull Request를 생성하여 코드 리뷰를 받고 병합합니다. 이는 코드의 품질을 높이고 버그를 사전에 방지하는 데 도움이 됩니다.

12. 변경된 코드를 내 컴퓨터에 반영하자! - git pull

# 원격 저장소의 변경 사항을 로컬에 반영
git pull origin [브랜치명]
  • 설명: 팀원들이 원격 저장소에 푸시한 변경 사항을 로컬 저장소에 가져옵니다. 항상 작업 전에 최신 상태로 업데이트하는 것이 좋습니다.

바로 따라하기만 하면 되는 실전 협업 가이드

1. 내 컴퓨터로 프로젝트 복제해오기 - git clone

git clone [레포지토리 주소] .
  • 설명: 원격 저장소를 로컬로 복제합니다. 마지막의 .는 현재 디렉토리에 복제하겠다는 의미이므로 빼먹지 않도록 주의합니다.

2. 기능 브랜치 생성 및 기능 개발

# 기능 브랜치 생성과 이동
git switch -c [기능 브랜치명]

# 코드 수정 후 변경 사항 저장
git add .
git commit -m "기능 추가 또는 수정 내용"

# 원격 저장소에 브랜치 푸시
git push origin [기능 브랜치명]
  • 설명: 새로운 기능을 개발할 때는 항상 별도의 브랜치를 생성하여 작업합니다. 작업이 완료되면 해당 브랜치를 원격 저장소에 푸시합니다.

3. Pull Request 생성 및 코드 리뷰

  • 설명: GitHub에서 푸시한 브랜치로 Pull Request를 생성하여 팀원들에게 코드 리뷰를 요청합니다. 코드 리뷰를 통해 코드의 품질을 높이고 잠재적인 문제를 발견할 수 있습니다.

4. 코드 병합 및 로컬 반영

# 메인 브랜치로 이동
git switch main

# 원격 저장소의 메인 브랜치 최신화
git pull origin main
  • 설명: 코드 리뷰 후 문제가 없다면 Pull Request를 병합합니다. 병합 후에는 로컬의 메인 브랜치도 최신 상태로 업데이트합니다.

정리

  • 브랜치 생성 및 이동
git branch [브랜치명]      # 브랜치 생성
git switch [브랜치명]      # 브랜치 이동

 

  • 기능 개발 및 코드 저장
git add .
git commit -m "커밋 메시지"
  • 코드 업로드 및 Pull Request 생성
git push origin [브랜치명]
# GitHub에서 Pull Request 생성
  • GitHub에서 병합 및 로컬 반영
git switch main
git pull origin main

마무리

  • Tip: Git과 GitHub를 활용하면 코드 관리와 협업이 더욱 효율적이고 체계적으로 이루어집니다. 위의 명령어들을 직접 실행해보면서 익숙해지는 것이 중요합니다. 추가적인 기능이나 명령어는 필요에 따라 학습해 나가세요.
반응형