Git 스테이징(Git staging)이란, 변경한 파일을 Git 저장소에 커밋하기 전에 "스테이징 영역"(staging area)에 추가하여 준비하는 과정입니다. 스테이징 영역은 현재 작업 중인 수정 사항 중에서 어떤 것을 커밋에 포함할지 선택하는 공간입니다. 이를 통해 한 번에 여러 개의 변경 사항 중 일부만 선택해 커밋할 수 있습니다.
Git 리포지토리의 파일을 변경할 때 변경된 내용은 Git에서 자동으로 추적되지만 반영하지는 않습니다. 따라서 스테이징을 통해 수정한 파일을 스테이징 영역에 추가합니다.
(이 순간에 AutoSave 이런 거 말하지 마요.)
쉽게 표현하자면 Office (워드나 엑셀, 파워포인트)에서 문서 작업을 할 때 문서 내용을 계속 작성하지만 사용자가 저장하기 전에는 변경한 내용이 저장되지 않으니 변경하는 내용을 어딘가에 변경하는 만큼 따로 모아둔다라고 할 수 있겠네요.
스테이징의 장점
- 선택적 커밋: 여러 파일을 수정한 경우, 필요한 파일만 커밋할 수 있습니다.
- 커밋 내역 관리: 의미 있는 변경 사항만을 묶어 커밋하여, 이력을 더 깔끔하게 관리할 수 있습니다.
- 작업 분리: 코드의 다양한 변경 사항을 별도의 커밋으로 분리하여, 협업 시에 이력 추적이 용이해집니다.
(뭘 알고나 지껄이면 편할텐데 일단 해봅니다.)
Git bash에서 스테이징을 하려는 폴더에 접근하는 것도 쉽지 않네요.
지난 포스팅에서 만들어둔 git-train 폴더로 디렉토리 변경해보고 하위의 하위의 폴더로 다시 이동해 보았습니다.
cd git-train
cd firtst-repo
mkdir sub_folder
cd sub_folder
Git Bash로 뭔가 충분하지 않은 것 같아 PyCharm 프로그램을 평가판으로 신청하고 PyCharm에서 거의 깡통인 firtst-repo프로젝트 파일을 열어 봅니다. 이전에 만들어 둔 second-repo, sub-folder등의 디렉토리가 보입니다.
.idea 하위에도 여러 파일이 존재합니다.
상단의 main 클릭하고 커밋 메뉴를 선택하거나, 왼쪽의 커밋 아이콘을 선택하면 변경내역을 볼 수 있습니다.
커밋에는 버전이 없는 파일에 대한 변경 폴더만 보입니다. 아직 Git Staging을 하지 않은 상태입니다.
스테이징을 하기 위해 아래쪽에 터미널 아이콘을 클릭하고 ls 명령어를 실행해서 현재 디렉토리에 있는 항목을 확인해 봅니다.
원하는 디렉토리에 파이썬 파일을 하나 추가해 봅니다. 파일을 추가하면 파일명이 빨간색으로 표시되며, 이는 스테이징이 되지 않았다는 뜻입니다.
이제 PyCharm 화면 아래에서 터미널 창을 열고 아래 명령어를 실행해 봅니다.
이제 main.py파일과 main2.py파일은 스테이징이 됩니다. 파일명도 빨간색에서 초록색으로 변경됩니다.
cd 디렉토리이름
git add main.py
git add main2.py
이제 초록색이 되었군요.
커밋 창으로 이동해 보면 변경 내역에 main.py와 main2.py의 파일이 생긴 것을 확인해 볼 수 있습니다.
프로젝트 파일로 이동해서 하위 디렉토리 안에 파일을 추가해 봅니다.
만약 해당 디렉토리가 git init으로 초기화된 상태라면 아래와 같은 팝업창이 뜹니다.
git init으로 초기화되지 않았다면 해당 팝업은 뜨지 않을 것입니다.
'Git & Github' 카테고리의 다른 글
Git Init (0) | 2024.11.11 |
---|---|
Git Repository Clone (0) | 2024.11.11 |
Git Repository Fork (0) | 2024.11.11 |
Github repository 만들기 (1) | 2024.11.10 |