Git & Github 입문 - Git workflow

WonJu Lee·2021년 7월 7일
0

Git & Github

목록 보기
3/9

이 포스트는 유튜브 채널 '드림코딩 by 엘리'의 '깃, 깃허브 제대로 배우기 (기본 마스터편, 실무에서 꿀리지 말자)'를 정리한 글임을 밝힙니다. (https://www.youtube.com/watch?v=Z9dvM7qgN9s&t=30s)

  • Git은 크게 1. Working directory, 2. Stating area, 3. .git directory 총 세 개의 작업 환경으로 구분된다.

1. working directory

  • 현재 작업중인 파일이 위치한 환경
  • Working directory는 untracked, tracked로 구분된다.

1-1. untracked

  • git이 존재를 모르고 있는 파일들 -> 최초 생성된 뒤, git에 의해 다뤄진 적 없는 파일
  • git add 명령으로 staging area로 이동시킬 수 있음 (untracked -> tracked)
git add a.txt
git add b.txt c.txt
git add *.txt 
git add *
  • git reset 명령으로 staging area에서 wokring directory로 이동시킬 수 있음 (tracked -> untracked)
git reset file_name

1-2. tracked

  • git이 존재를 알고 있는 파일들 -> 최초 생성된 파일이 Staging area에 갔다오면 그 이후로는 tracked 됨
  • tracked는 unmodified와 modified로 구분됨

1-2-1. unmodified

  • 이전 버전과 비교했을 때 수정사항이 없는 파일
  • unmodified 파일은 staging area로 이동할 수 없음

1-2-2. modified

  • 이전 버전과 비교했을 떄 수정사항이 있는 파일
  • modified file만 stating area로 이동할 수 있음

2. staging area

  • 버전 히스토리에 올릴 준비가 된 파일
  • staging area에 올라간 파일의 내용이 변경되었을 때, 변경된 부분은 아직 working directory의 tracked에 머무름
    -> staging area로 이동한 뒤 발생한 변동사항은 staging area에 반영 안 됨
  • git rm --cached <file_name> 를 통해 다시 working directory의 untracked로 옮길 수 있음
git rm --cached <file_name>
git rm --cached *
  • commit : staging area -> git diretory
  • 각 commit에는 snapshot된 정보들에 고유한 hashcode (ID)부여 됨 -> 각 commit (version) 구분 가능
  • 뿐만 아니라 commit에는 commit message, author, date/time 정보들도 포함됨

3. .git directory(repository)

  • 뒤에서 자세히 다룰 예정
    checkout : git directory -> working directory
    push : git directroy (local) -> remote git directory (github)
    pull : remote git directory (github) -> git directroy (local)
profile
Don't make excuses

0개의 댓글

관련 채용 정보