repository와 commit
Git이 버전 정보를 기록하는 공간이 repository다!
프로젝트 디렉토리의 현재 모습을 하나의 버전으로 남기는 동작 & 결과물이 commit이다!
이제 repository를 만들어보자!
디렉토리를 만들고 싶은 위치에 Git Bash를 열고 리눅스 명령어를 입력하자
- mkdir a -> ‘a’라는 디렉토리를 생성
- touch a -> ‘a’라는 파일을 생성
- ls -> 디렉토리의 내용을 확인
- cd a -> ‘a’ 디렉토리 안으로 이동 (‘cd .git’ -> git 디렉토리로 이동 / ‘cd ..’ -> 상위 폴더로 이동)
- git init -> 해당 디렉토리에 git 레포지토리를 생성
이제 commit을 해보자!
간단한 파이썬 계산기 코드(calculator.py)를 MathTool폴더 안에 저장해준다
def add(a, b):
return a+b
def substract(a, b):
return a-b
Free라고 적힌 텍스트 파일(License)도 저장해주자
이제 첫 commit을 하기 전에 깃에 commit을 하는 사람을 명시할 필요가 있다!
$ git config user.name "joseph-106"
이름을 넣고..
$ git config user.email "sjjoseph106@gmail.com"
이메일도 설정하자
또한 커밋에 포함될 변경파일들을 add(미리 지정)해줘야 한다~
$ git add calculator.py
$ git add License.txt
커밋과 동시에 변화를 기록하는 커밋 메시지도 남겨주면 끝이다!
$ git commit -m "Create calculator.py and License"
+++
git status -> git이 인식하는 디렉토리의 현상태를 보여준다
git add . -> 모든 변경을 staging area로 보낸다
git reset -> staging area에 있는 파일의 git add를 취소한다
Git의 3가지 작업 영역
Git은 내부적으로 3가지 작업 영역에서 동작한다
1. working directory
작업을 하는 프로젝트의 디렉토리다. 지금은 MathTool디렉토리라고 볼 수 있다.
2. staging area
git add를 한 파일들이 존재하는 영역이다. 커밋을 하면 staging area에 있는 파일들만 커밋에 반영된다!
3. repository
커밋(working directory의 변경 이력들)이 저장되는 영역이다. working directory에 숨겨져 있는 .git디렉토리가 repository라고 할 수 있다
쉽게 말해서 staging area가 커밋의 임시저장 같은 느낌이다!
Git이 파일을 보는 4가지 상태
Git으로 관리되는 파일은 크게 Untracked 상태와 Tracked 상태로 나뉜다
그리고 Tracked 상태는 Staged, Unmodified, Modified 상태로 나뉜다
1. Untracked 상태: 파일을 생성하고 한 번도 add를 해주지 않은 상태
2. Tracked 상태: 한 번 이상의 add로 Git에게 추적되는 상태
- Staged 상태: 파일 수정 후에 add되어 staging area에 있는 상태
- Unmodified 상태: 최신 커밋과 비교했을 때 바뀐 게 없는 상태
- Modified 상태: 최신 커밋과 비교했을 때 조금이라도 바뀐 내용이 있는 상태
본 내용은 Codeit의 'Git으로 배우는 버전 관리'를 바탕으로 작성되었습니다.
'Tools > Git, GitHub' 카테고리의 다른 글
[Codeit/Git] #6 Git 협업하기 (4) | 2021.05.31 |
---|---|
[Codeit/Git] #5 브랜치 사용하기 (4) | 2021.05.29 |
[Codeit/Git] #4 커밋 다루기 (6) | 2021.05.24 |
[Codeit/Git] #3 GitHub 시작하기 (6) | 2021.05.13 |
[Codeit/Git] #1 Git 시작하기 (8) | 2021.04.28 |