개인적으로 무언가의 필요성을 못 느끼면, 배울 때 동기부여가 잘 안 된다. 그래서 나중에는 중요하다고 하지만, 지금 당장은 정말 쓸모없어 보이는 Git의 필요성에 관해 정리해보려고 한다.
아마 Git의 가장 중요한 역할 2가지를 꼽으라면, 버전관리와 협업에 용이하다 정도 일것이다.
버전 관리
[여기서는 Node.js 버전 표기법을 사용하겠다.]
(TMI) Node.js 에서는 버전을 3자리로 관리한다. ex) v1.0.0
그런데, MS word로 보고서를 관리하는 경우
v1.0.0 <-> v1.0.1 이 두 버전을 관리하기 위해 2개의 파일들을 생성해서 관리해야한다.
여기서, Git의 능력이 반짝반짝 빛나는데, Git은 파일 하나로 2가지 이상의 버전관리가 가능하다!!!
협업
이게 Git의 가장 큰 강점이 아닐까 싶다.
종종 협업을 하다보면, 같은 파일을 2명이서 수정할 때가 발생한다.
현재 버전 v1.0.0
Edited by Person A => v1.0.1
Edited by Person B => v1.0.1
이렇게 한 가지의 파일로 두 개의 새로운 버전이 나왔을 때, 어떻게 해야 될까?? 둘 중에 한 사람의 버전이 압도적으로 좋다면 얘기가 쉽다. 하지만, 그게 아니라면, 가장 좋은 선택은 두 사람의 수정본들을 보고, 장점만을 취해서 새로운 버전을 만드는 것이다.
Person A와 Person B의 장점만을 추려낸 => v1.0.2
또다른 접근법은
A는 어떤 부분을 "달러" B는 같은 부분을 "dollar" 표시했다면,
거기에 대한 중재안으로 '$' 반영하는 방법도 있다.
여기까지 Git이 필요한 이유에 관한 간략하게 정리해봤다.
마지막으로, 많은 사람들이 오해하고 있는 부분을 언급하고 싶다. Git 혹은 Github은 개발자들만 사용하는 도구가 절대 아니다!! Git은 프로그래밍 언어와도 전혀 관련이 없기 때문에, 출판사에서 책원고를 Git으로 많이 관리한다. 최근에는 디자인 업계에서도 디자인 수정본들을 Git으로 관리한다고 들었다. 즉, Git은 개발자가 아니어도 이미 여러 분야에서 널리 활용되고 있다. 이것만으로 Git을 배워야 될 이유는 충분한 것같다!!
다음 포스트는 Git에서 가장 많이 사용되는 명령어들에 대해서 정리해보겠다.
참고 자료 및 출처
https://www.zerocho.com/category/JavaScript
https://www.youtube.com/watch?v=DqtZUvmPmo4
https://www.geeksforgeeks.org/useful-git-commands-and-basic-concepts/