jyamethyst21 님의 블로그

깃허브 & 노션 사용법 본문

보안 & IT 지식 🌺

깃허브 & 노션 사용법

jyamethyst21 2025. 12. 24. 22:11

깃허브는 분산 버전 관리 시스템인 git을 사용하는 프로젝트를 저장하고, 전세계 개발자들과 협업 및 소스코드를 공유할 수 있는 웹 기반 호스팅 플랫폼이다.

오늘은 관련된 기본 내용을 포스팅하고자 한다.

 

1. 버전관리와 Git

  • 버전관리란 파일의 변경 이력을 기록하고 관리하는 방식
  • 누가, 언제, 무엇을 변경했는지를 확인할 수 있고, 필요하면 특정 시점으로 되돌릴 수 있음
  • 여러 사람이 동시에 작업하는 환경에서 코드 병합과 협업을 수월하게 만든다는 장점 존재
  • Git은 이를 위한 분산 버전관리 시스템
  • 소스 코드뿐 아니라 모든 파일의 변경 사항을 추적할 수 있음
  • 로컬 저장소 기준으로 동작하며, CLI와 GUI 방식 모두 지원

2. Git 기본 흐름

  • Working Directory: 실제로 파일을 수정하는 공간
  • Staging Area: 커밋할 파일을 선택해 올려두는 공간
  • Repository: 커밋 이력이 저장되는 공간

기본 명령 흐름

  • git init : 저장소 생성
  • git status : 현재 상태 확인
  • git add : 변경 파일을 스테이징
  • git commit : 변경 내용 기록
  • git log : 커밋 이력 확인

3. 커밋과 되돌리기

  • 커밋은 의미 있는 작업 단위로 수행
  • git diff로 변경 내용을 확인
  • git reset
    • --soft : 커밋만 취소, 스테이징 상태 유지
    • --mixed : 스테이징 해제
    • --hard : 변경 사항 완전 삭제
  • 공유된 커밋에는 reset 사용 주의

4. 브랜치 개념

  • 브랜치는 작업 흐름을 분리하기 위한 기능
  • 일반적인 구성
    • main : 안정된 최종 코드
    • develop : 개발 진행 브랜치
    • feature : 특정 기능 개발용 브랜치
  • 브랜치를 사용하면 충돌을 줄이고 병렬 작업 가능

5. GitHub와 원격 저장소

  • GitHub는 원격 Git 저장소를 제공하는 서비스
  • 로컬 저장소의 커밋 기록을 업로드해 관리할 수 있음

기본 흐름

  • 원격 저장소 생성
  • git remote add origin으로 연결
  • git push로 업로드
  • git pull로 최신 코드 가져오기

6. 협업과 충돌 해결

  • 서로 다른 브랜치에서 같은 파일을 수정하면 충돌(conflict)이 발생할 수 있음
  • 충돌 파일에서 직접 수정 후 다시 커밋해 해결해야함
  • Pull Request를 사용하면
    • 코드 변경 내역을 검토할 수 있고 리뷰 후 병합이 가능

7. Markdown과 README

  • Markdown은 GitHub에서 문서를 작성할 때 사용하는 텍스트 기반 문법
  • 제목, 목록, 코드 블록, 링크, 이미지, 표 등을 간단히 표현할 수 있음
  • README.md에는 프로젝트 개요, 기능, 변경 사항, 기여자 등을 보통 추가함

8. 커밋 컨벤션과 코드 리뷰

  • 커밋 메시지는 작업 의도를 명확히 드러내는 것이 중요하다.
  • 대표적인 커밋 타입
    • Feat, Fix, Refactor, Docs, Style, Rename 등
  • 코드 리뷰는 오류를 줄이고 코드 품질을 높이기 위한 과정임
  • 리뷰가 없을 경우에도 상태 공유 차원에서 의미가 있다고 생각하면 됨