기트를 다른 거에 비유해서 가르쳐봐~ 오~ 토바 라비~

개시하다


전에 졸업생 지트를 가르쳤는데 그것도 어려워요.
버전 관리 시스템은 이해하기 쉬우나 창고, 지점, 제출 등 인상이 생기기 어렵다고 생각합니다.
이럴 때 자신을 다른 것에 비유할 수 있다면 더욱 쉽게 인상을 남기고 좋아하게 된다.
때로는 상대방에게 전달되거나 오해가 생기기 때문에 찬반 양론이다
하나의 예로 개요를 상상해 낼 수 있다면 쉽게 기억할 수 있고, 이후 실제 접촉에서 상세한 지식을 궤도 수정하면 된다. 상세한 방법을 설명해도 이해력을 잃는 자신에게 그것을 물건에 비유할 수 있다면 큰 도움이 된다.
그래서 이번에는 기트를 물건에 비유해 설명하자면, 너무 지루해져서 기사로 다시 정리하려고 한다.
이번에는 교육을 위해 재미있고 알기 쉽고 도전적인 느낌을 추구해 보도를 정리하고 싶습니다.

등장인물


새로 졸업한 학생
그는 졸업생이어서 Giit를 모른다.
이번에는 졸업생 지트의 몸을 가르친다.
우리
졸업생 지트를 가르치고 싶은 분.
N군
Giit의 비유에 나오는 사람(창고를 의인화한 것)
A, B, 등등
마찬가지로 예를 든 사람이다.
N군을 가르치고 싶은 사람들.

Giit는 (일반 편)


프로그램 원본 등 변경된 역사를 관리하는 분산형 버전 관리 시스템을 가리킨다.
지트는 분산형 특징이 있어 곳곳을 복제해 수정할 수 있다.
보통 그렇습니다. 창고, 지점, 커미션을 알려드릴게요.
하지만 졸업생들의 두뇌는 이미 폭발했다.
제대생: "창고...? 지점...? 사탕 주세요."
나: "그의 뇌는 자기 붕괴를 선택했다."

기트를 예로 든 편.


그럼 나는 지트를 물품에 비유한다.

repository와commiit


네, 비유하자면 창고는 인생이고 제출은 그 사람이 쌓은 역사 아닌가요?
나는 어린 N을 훌륭한 사람으로 키우고 싶다. 주위 사람들은 다양한 일을 시키고, 어린 N은 그 결과를 자신의 인생에 제출하고 역사를 기록한다.

clone 및 local repository


하지만 주변에서 N군을 마음대로 교육하면 N군이 어떤 화학반응을 일으킬지 모른다.
특히 사춘기에는 이런 사소한 일들이 그의 마음속에서 큰 문제가 될 수 있어 주위 사람들도 신중할 수밖에 없었다.
하지만 다행히 N군은 분신을 했다.
N군의 분신은 N군의 본체로 돌아가는 것(이후 오리지널)으로 분신이 배운 경험 등을 주체에 합성하는 특성이 있다.
그래서 사람들은 N군의 분신을 데리고 돌아가 각자 교육을 했다.
이 분신을 집으로 데려가는 행위를 복제라고 한다.
이거, 분신을 집으로 가져가는 게 지트의 분산형 때문이야.
로컬 창고에서 아무리 제출해도 오리지널 합성을 하기 전에는 주체에 영향을 주지 않는다.

branch


이렇게 되면 모두들 집에 돌아온 후 마음대로 교육을 진행할 수 있게 된다.
하지만 A 씨는 그렇게 생각했다.
"N군에게 그것과 이것을 시키고 싶었어요. 하지만 교육이 실패하면 오리지널을 합성할 수 없어요."
근데 괜찮아!N 군의 분신이 더 분신을 잘하는구나!
그리고 N군은 합체할 때 분신의 경험을 흡수할 수 있기 때문에 자신이 교육하고 싶은 것을 분리해 교육이 끝나면 합체하면 된다.
이렇게 하면 교육을 동시에 할 수 있을 뿐만 아니라 실패하면 창작하지 않는 것을 선택할 수 있어 매우 효율적이다.
A는 곧바로 집으로 데려온 N군의 분신을 추가로 분신시켜 분신 1영어, 분신 2교오토바이, 분신 3교의 축구를 가르쳤다.
다만, 여러 사람이 같은 사람이기 때문에 이름을 붙여 식별해야 한다.
데려온 분신은'마스터', 거기서 분리된 분신 1은'feature/english', 분신 2는'feature/bike', 분신 3은'feature/soccer'
이 이름의 분신은 분지다.

그 후 피처/바이크는 폭주족이 되었다.
그래서 나는'feature/bike'를 포기하기로 결정했다.
좋은 아이를 예쁘게 키운'feature/english','feature/soccer'는'마스터'를 합체시켰다.
합병은 합병이라고 불린다.
그래서 영어와 축구를 배운'마스터'가 탄생했다.

fetch 및 PULL


그러던 어느 날, B 씨는 B 씨가 배운'빈손길'을 분신해 원래 N 군에게 합쳤다.
그때 A 씨는 호신용 공수도 경계인'보살의 권'을 가르치고 싶어 공수도를 할 줄 아는 능력을 익혔다면'보살의 권'을 배우는 지름길이 될 수 있었다.
그래서 나는 오리지널 N군의 집에 가서 분신을 부탁했다.
이때 기존 N군에서 분리된 분신은'빈손길'을 이용할 수 있다.
A씨의 목적은 새로운 분신을 가지고 돌아가 집에 있는 축구공과 영어를 할 줄 아는 분신'마스터'를 통합하는 것이다.
이번 목적은 집안에 이미 분신이 생겨서 그가 흡수하도록 하는 것이다. 우선 아이를 데리고 집에 가서 자신이 어떻게 성장했는지 관찰한 다음에 합병 여부를 토론해야 한다.
이것은fetch라고 한다.

그나저나 합병을 함께 하기 전의 일을 풀이라고 합니다.

push


A 씨는'빈손길'의 능력을 자기 집 분신에 장악해 키워'보살의 주먹'을 멋지게 배웠다.
마음에 들었던 A씨는 자신의 분신을 원래의 N군으로 회복하고 싶었다.
그리고 오리지널 N군을 데리고 오리지널을 합병한다.
이걸 push라고 해요.
이로써 C선생, D선생이 N군을 키우기 위해 데려온 분신에'보살의 주먹'을 쓸 수 있게 됐다.
여러분에게 수정의 영향을 끼친 것은 이번이 처음입니다.

충돌하다


A씨가 오리지널 N군을 업데이트하려고 분신으로 통합하려 하자 문제가 생겼다.
사실 A씨는 운전면허를 따게 했고, C씨도 운전면허를 따게 했다.
그리고 C가 오리지널 N군을 먼저 합병했기 때문에 N군은 이미 운전면허증을 가지고 있다.
같은 사람이 두 개의 운전면허증을 소지할 수 없기 때문에 어느 운전면허증을 반영할지 결정하기 전에는 합병할 수 없다.
충돌입니다.
결국 A는 자신이 취득한 운전면허증을 국가에 돌려주고 합병했다.

Commit ID


여러분의 교육을 받은 분신의 N군은 전지전능한 신이 되었다.
그래, 나는 정말 멋진 인생에 들어섰다.
그리고 분신을 포함한 모든 N군은 일기에 자신이 변화를 만났을 때의 고유 아이디가 담겨 있다.
이 때문에 전체 내용을 수록한 오리지널 N군은 일기를 볼 때마다 무슨 일이 일어났는지 선명하게 떠올린다.
이 일기의 고유 ID는 제출 ID입니다.
N군은 인생을 한 번 또 한 번 돌아보며'내 인생'이라고...

최후


나: "거꾸로 말하면 이해하기 어려운 느낌이 있다는 것을 부인할 수 없지만, 제대생은 이해할 수 있습니까?"
제대생군: "내 인생"
나: "그래! 그래! 갓 졸업한 너, 인생은 이렇다! 알겠지! 무서워!"

잡담


처음에는 이해하기 쉬울 것으로 예상했지만 상당히 힘들었다.
이런 기사는 큐타에게 줄 수 있다고 생각했지만, 상당히 열심히 쓰는 시간을 낭비하고 싶지 않아 공개하기로 했다.
그리고 리베이스와 N군을 섞으면 N군은 시공을 조종하는 존재가 되기 때문에 이번에는 설명을 생략했다.
결국 목적은 기본적인 인상을 잡는 것이다.
애초에submodule의 설명을 넣고 싶었는데 이번에는 말하지 않겠습니다.웃다 웃다
아마 이 예대로 한다면 submodule은 결혼 상대, 아이, 혹은 다른 인생을 살아가면서 N군의 존재에 영향을 미치겠죠.
그나저나 열광적인 어쿠스틱이지만 자신도 억지로 어쿠스틱을 엮을 수 있어 만족스럽다.웃다 웃다

좋은 웹페이지 즐겨찾기