IT공부

[지식루프의 IT공부] Git의 일반적인 흐름

지식루프 2025. 3. 3. 21:08
728x90
반응형

 

 

 

Git이란?

컴퓨터에서 파일을 저장하고 바꾼 내용을 관리하는 일기장 같은 것입니다. 파일이 어떻게 변하는지 기억해두는 역할을 합니다.


Git에서 파일이 변하는 과정

파일들은 4가지 상태를 가질 수 있습니다.

  1. Untracked (추적되지 않음 - 회색)
    → 새로운 파일을 만들었지만, Git이 아직 모르는 상태입니다. (Git한테 "이 파일을 기억해줘!"라고 말하지 않은 상태)
  2. Unmodified (수정되지 않음 - 초록색)
    → Git이 알고 있는 파일이고, 최근에 바뀐 적이 없는 상태입니다. (안전하게 저장된 상태)
  3. Modified (수정됨 - 주황색)
    → 파일을 수정했지만, 아직 Git에게 "이거 바뀌었습니다!"라고 말하지 않은 상태입니다.
  4. Staged (저장 준비됨 - 빨간색)
    → 수정된 파일을 Git에게 "이거 저장할 준비됐습니다!"라고 알려준 상태입니다.

그림 설명

이제 그림에서 어떤 일이 일어나는지 보겠습니다.

  1. 새로운 파일 추가하기 (Add the file)
    • 새로운 파일을 만들면 처음엔 Untracked 상태입니다.
    • git add 명령을 실행하면 Staged 상태가 됩니다.
  2. 파일을 수정하기 (Edit the file)
    • Unmodified 파일을 열어서 내용을 바꾸면 Modified 상태가 됩니다.
  3. 수정한 파일을 저장 준비하기 (Stage the file)
    • git add를 하면 Modified에서 Staged로 이동합니다.
  4. 변경 내용을 확정하기 (Commit)
    • git commit을 하면 Git이 "좋아, 이 상태를 기록하겠습니다!"라고 하고, Unmodified 상태로 돌아갑니다.
  5. 파일 삭제하기 (Remove the file)
    • 파일을 삭제하면 다시 Untracked 상태가 되거나 Git이 추적하는 파일 목록에서 사라집니다.

 

전반적인 Git의 개념에 대해서 모두 훑었보았습니다.

 

일반적인 Git의 작업 흐름은 어떻게 될까요? 


웹 사이트를 만드는 프로젝트에 참여하고 있다고 가정해 봅시다. 웹 사이트에 새로운 기능을 추가하려고 합니다.  이 때 작업 흐름은 다음과 같습니다. 

 

1. git pull: 먼저 원격 저장소에서 최신 코드 다운로드. 이를 통해 현재 로컬 코드가 최신 상태인지 확인하고, 다른 사람이 진행한 작업을 로컬 리포지토리에 포함

 

2. git checkout -b new_function : 새로운 기능을 위한 브랜치를 생성. 이 브랜치는 기능을 추가하는 작업을 포함하며, 브랜치 이름에 이 내용을 반영하는 것이 좋음. 


3. git add -A: 새로운 프로필 페이지에 필요한 모든 파일과 변경 사항을 staging area에 추가. 이는 새로운 HTML, CSS, JavaScript 파일 등이 될 수 있음. 


4. git commit -m "Add new function": staging area에 있는 변경사항을 커밋하여, 작업 내용에 대한 스냅샷을 생성


5. git push: 커밋한 변경 사항을 원격 저장소에 푸시. 이를 통해 다른 팀원들이 이 변경 사항을 볼 수 있음. 

 

728x90
반응형