inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

빠르게 git - 핵심만 골라 배우는 Git/Github

나누어 관리하자

git의 원리?

193

루라

작성한 질문수 22

0

안녕하세요! 강의 잘보고있습니다.
 
GIT의 원리?는 변경점의 집합인가요?
예를 들어 커밋마다 파일이 추가된다고 했을때
 
1 commit - [A]
2 commit - [A][B]
3 commit - [A][B][C]
4 commit - [A][B][C][D]
5 commit - [A][B][C][D][E]
 
이렇게 저장되는게 아닌
 
1 commit - [A]
2 commit - [B]
3 commit - [C]
4 commit - [D]
5 commit - [E]
 
이렇게 저장되고 pull을 한다던가 했을때 추가/삭제가 계산되거나 계산된 전체 파일을 받아올 수 있는건가요?
 
용사 신무기 예시에서도 신무기의 초반 커밋을 지운다면
이후의 커밋에 같이 저장된게 아니기 때문에 신무기에 오류가 날수 있는 걸까요?

버전관리시스템 github git

답변 1

1

강민철

안녕하세요 :)

 

네 맞습니다, git은 '변경 사항'을 기억합니다.

 

질문자님 말씀대로 만일 아래와 같이 커밋이 추가된다면,

 

첫 번째 커밋 - A 추가

두 번째 커밋 - B 추가

세 번째 커밋 - C 추가

 

각각의 커밋에는 '이전 커밋에 비해 무엇이 추가되었는지'만이 표현됩니다.

(전체 파일을 다 저장하지는 않습니다. 이는 용량을 지나치게 많이 잡아먹을테니까요)

 

pull을 했을 때나 

'가장 마지막 변경 사항'을 기준으로 pull을 하게 되고 

추가/삭제가 이루어질 때에도 '가장 마지막 변경 사항'을 기준으로 추가/삭제가 이루어지는 겁니다.

 

git은 변경 사항만을 저장한다! 라고 생각하시면 될 것 같습니다 :)

 

"용사 신무기 예시에서도 신무기의 초반 커밋을 지운다면 이후의 커밋에 같이 저장된게 아니기 때문에 신무기에 오류가 날수 있는 걸까요?"

 

라는 질문에 대해서는 그렇습니다.

 

이전의 커밋으로 되돌아간다면,

가령 신무기의 초반 커밋으로 되돌린다면, 이후의 변경 내역들도 덩달아 사라지기에 신무기에 오류가 날 수 있죠.

 

감사합니다.

0

루라

감사합니다!

pull request에 관해

0

50

1

로컬과 원격의 상호작용 강의 질문

0

155

2

password authentication was removed

0

241

2

section3부터 맥북에서 화면이 안나옵니다.

0

221

2

Git bash 우클릭 보이지 않음

0

365

1

원격 저장소 조회(추가)

0

184

1

혹시 아래처럼 계속 파일을 찾을 수 없다는 건 어떤 의미일까요..

0

151

1

Git 맥북 다운로드

0

317

2

Git bash 다 마우스 우클릭해도 보이지 않습니다

0

432

2

pr 이후 브랜치 삭제 질문드립니다

0

992

2

블로그

0

263

2

github에서 push오류

0

280

1

reset에서 head

0

343

1

git branch 관련 질문

0

225

1

Section 2 / 4강 / 3:23초 질문

0

172

1

diff & revert

0

274

1

이슈 번호를 잘못 명시한 커밋을 삭제하는 방법

0

1202

1

강의 "로컬과 원격의 상호작용 실습 (+충돌이 난 경우)" 편의 영상 7분 38초 쯤에서 질문 드립니다.

0

433

1

mac사용

0

321

1

원격 branch를 checkout 하면서 새 branch를 만드는 방법

0

466

1

git checkout 과 git switch/restore

0

2430

1

로컬 브랜치 관련 질문합니다.

0

206

3

git stash, git tag 에 대한 강의자료가 있으면 좋겠습니다

0

312

1

브랜치를 main(master) 와 동기화 하고 싶을 때

0

9197

1