[생활코딩] 형상관리/GIT1(기본)

GIT1 - git의 목적 {버전관리, 백업, 협업}

Ben의 프로그램 2023. 5. 9. 18:59
728x90

GIT을 사용하는 목적은 3가지 입니다. Version관리, Backup, Collaborate(협업) 그리고 이 3가지의 목적은 순서가 있습니다. 의 것을 이해하지 않는다면 의 것을 이해할 수 없니다. 의 것은 그 자체로 할 수 있는 일들이 많지만, 의 것은 앞의 것에 의존합니다. 의 것일수록 고, 의 것일수록 어렵습니다. 여러분이 에서 오래 머물수록 니다. 여러분이 천천히 오래 즐겁게 공부할 수 있게 말이죠. 이 수업의 목적은 GIT을 구경시켜드리는 것입니다. 실습하려고 하시지 마시고, 끄덕끄덕 하시면서 아! 이래서 GIT을 사용하는구나 공감하신다면 이 수업은 대성공이 될 것입니다.

 

버전관리 Version

우선 버전관리의 유용성을 체험해봅시다. 상상력을 동원해서 다음과 같은 상황을 상상해보세요.

여러분은 3달에 걸쳐서 1만 줄에 달하는 코드를 작성했습니다. 그런데, 1달 전쯤에 작성했던 버전으로 되돌아가야하는 상황인 겁니다. 여러분이 그냥 메모장에 작성을 하던 상태였다면 어떻게 이 문제를 해결하시겠습니까? 아마 대부분은 다른 이름으로 파일을 저장하면서 버전을 관리했을 겁니다. 

 

그런데, 이렇게 문제를 해결하면 문제가 있습니다. 우선, 메모리를 너무나 많이 차지합니다. 또 버전 마다 어떤 부분은 냅두고 어떤 부분만 되돌려야 한다면, 달라진 부분을 하나하나 다 찾아보아야 합니다. 또 다른 누군가와 협업을 하게 되었다면 이 문제는 간단한 문제로 끝나지 않을 겁니다. 리눅스 토르발츠가 말했던 것처럼 문서의 지옥이 따로 없을 겁니다. 

 

이런 지옥에서 우리를 구원해주는 것이 바로 GIT의 버전관리입니다. 

 

 

백업 backup

여러분이 가지고 있는 컴퓨터에는 확실한 것과 불확실한 것이 있습니다. 불확실한 것은 언젠가는 여러분의 컴퓨터는 고장난다는 것이고, 확실한 것은 여러분의 컴퓨터는 분명 언젠가 고장난다는 겁니다. 만약 여러분의 로컬 컴퓨터에만 파일을 저장하는 것은 언젠가 여러분의 데이터가 유실된다는 것을 의미합니다. 다만 그것이 오늘이 아니기를 바랄 뿐이죠. 백업에는 여러가지 방법이 있습니다만, 지구 반대편 서버에 저장을 해 둔다면 지구 단위의 재앙이 닥치는 것이 아니라면 데이터를 잃어버리는 것이 불가능합니다. 

 

GIT 을 활용하여 GIT hub를 사용하게 되면 얻을 수 있는 또 다른 효용인 백업에 대해서 알아보겠습니다. 

 

GIT hub를 활용하면 지구 반대편 어딘가에 있는 서버에 나의 데이터를 저장할 수 있습니다. 게다가, 이렇게 저장한 파일은 나와 협업하는 동료가 아주 편리하게 접근할 수도 있습니다. 백업의 엄청난 효용이라고 할 수 있습니다. 

 

 

협업 collaborate

 

백업을 하면 협업을 하는 것과 큰 차이가 없습니다. 왜냐하면 준비가 다 된 것이기 때문입니다. 

 

이전에 백업에는 2 대의 컴퓨터를 동기화시키는 것을 살펴봤는데, 이번에 협업에서는 1 대는 내가 쓰고 1 대는 다른 동료가 쓰는 상황에서 동기화를 하는 것을 의미합니다. 개념은 이런 겁니다. 원격 저장소에 내가 push 하면 동료가 원격 저장소에 저장되어 있는 내용을 pull 해서 가져오고 이런 순환이 반복되는 것이 바로 협업의 과정입니다. 

 출처 : https://opentutorials.org/course/3837