[Tech/Git & GitHub] Git의 모든 것 2 - Git의 작동 방식/순서
이제 git에 대해 배웠고, 명령어를 치는 shell을 알았으니, git이 어떻게 작동하는지와 github와 어떤 연관이 있는지를 살펴볼 것이다. 개인적으로 실습 없이 그림으로만 봤을 때는 이해하기에 좀 어려웠는데, 코드랑 같이 해보면 금방 이해할 수 있다. 어쨋든, 내가 이해한대로 쉽게 정리해보도록 하겠다.
4. Git의 작동 방식
Git은 위의 이미지와 같이 Workspace → Stage Area → Local Repository → Remote Repository의 단계로 수행된다.
4-1) Workspace (작업 디렉토리)
(작업 공간) 과제를 쓰는 노트
작업자가 코드를 작성하고 수정하는 실제 작업 공간을 의미한다. 그냥 내 컴퓨터에서 코드 작성하는 그 공간이다.
개발자가 사용하는 VS Code, PyCharm 등의 에디터에서 파일을 생성하거나 수정하는 모든 작업은 이 영역에서 이루어진다.
4-2) Stage Area (스테이지 / 인덱스)
(임시 제출함) 제출 전에 올려놓는 대기 공간 → 나 이거 제출할 거야” 하고 제출 상자 옆에 잠깐 올려두는 공간
내가 코드를 수정하고 생성한 파일들을 임시로 올려두는 대기 공간이라고 생각하면 된다.
Git에게 ‘이 파일을 업로드할 예정이야!’ 라고 알려주는 역할을 한다.
github에 바로 올리는 것이 아닌, 임시 가상의 공간으로 한 단계 거쳐 가는 것으로 생각하면 쉽다.
1
2
git add . #수정한 모든 파일을 잠깐 올려둠
git add notebooks/예시.ipynb #특정한 파일을 잠깐 올려둠
4-3) Local Repository (로컬 저장소)
(제출함) 내가 갖고 있는 제출함 → 제출 대기 상자에 올려둔 파일을 진짜로 제출해서 내 저장함에 넣는 것
가상 공간에 1차로 올려두었던 파일을 실제로 Git 저장소에 기록하는 단계 (버전 저장)이다.
1
2
3
4
git commit -m "첫 과제 제출"
# "이 시점의 파일 상태를 내 Git 저장소에 기록"
# 파일이 저장되고, 기록이 남음 (언제, 어떤 내용인지)
프로젝트 진행 시 git init 명령어로 초기화를 하면, 특정 폴더 안에 .git이라는 숨겨진 폴더가 생기게 되는데, 이 폴더가 바로 Local Repository의 핵심이다.
.git 폴더 안에는 모든 커밋 기록, 브랜치 정보, 설정 파일 등이 저장된다. 즉, git commit을 하면 이 .git 폴더 내부에 이력 정보가 저장되며, 그 결과 과거로 되돌아가거나 변경 사항을 추적할 수 있게 된다.
※ 추가로 commit 할 때, 메시지 양식, 템플릿도 존재하는데 궁금한 분들은 “git commit convention” 관련 내용 찾아보면 좋을 듯합니다!
4-4) Remote Repository (원격 저장소)
선생님한테 제출하는 단계
위 단계까지는 아직 내 컴퓨터에만 저장된 상태이다. Github 같은 곳으로 보내야 제출이 되는 것으로 알고 있으면 된다. 대표적으로 GitHub, GitLab, Bitbucket과 같은 온라인 플랫폼에 있는 저장소로 내보내게 된다.
로컬 저장소의 내용을 원격 저장소로 전송(push)한다고 하며, push해서 올라가게 되면 코드가 깃허브 레포에 올라가게 된다. 이에 따라서 나의 작업 코드들을 다른 사람과 공유하거나 백업할 수 있게 된다.
git push 명령어로 로컬 저장소의 커밋을 원격 저장소로 보낸다.
1
git push origin main
마지막 편에서는 git의 전 과정을 코드로 flow에 따라 정리했습니다. 관련 내용들은 3편 참고해주시길 바랍니다! (❁´◡`❁)
🔗 참고 링크
- https://velog.io/@sohtks/Git-Git-사용법-기초
- https://gitforwindows.org/img/gw1.png
- https://www.google.com/url?sa=i&url=https%3A%2F%2Fvelog.io%2F%40kbm940526%2Fseries%2FGIT%25EC%2582%25AC%25EC%259A%25A9%25EA%25B8%25B0&psig=AOvVaw0I53OSZAsNJQ-Dl2qQu-n0&ust=1752284743384000&source=images&cd=vfe&opi=89978449&ved=0CBcQjhxqFwoTCMCH4r_Xs44DFQAAAAAdAAAAABAZ
