Git 이 그렇게 중요한가?
내가 생각했을 때 소프트웨어 개발에서 가장 중요한 것이 뭐냐라고 했을 때 (C언어와 같은 근본적인 언어를 제외하고서) 망설임 없이 Git 이라고 할 것이다.
하지만 막상 사용해보고 처음 접하면 굳이 이게 왜? 그냥 별거 아닌 거 같은데 라는 생각이 든다.
그냥 git이라는 명령어로 시작하는 수많은 툴 중에 하나인데 이게 왜 이렇게 유명하고 필수적인가?
막상 개발을 하고 여러 사람과 협업하고 여러 가지 수정 상황을 겪어보면 비로소 Git의 위대함을 이해할 수 있다.
Git은 분산 버전 관리 시스템
기존 버전관리 시스템(SVN과 같은) 과 차별화되는 Git의 특징은 분산형 버전관리 시스템이라는 것이다. 또한 분산형 버전관리가 오프라인으로 관리가 되는 것이 중요하다. 출장을 가거나 서버와의 연결이 끊기더라도 로컬로 작업할 수 있고 이것을 언제든지 서버에 반영하여 동기화할 수 있는 것이 장점이다.
Git의 브랜치 개념
작업하던 환경을 유지하고 싶고 여기에 무언가 수정하고 싶을 때 브랜치를 생성하면된다. 하지만 이는 너무 일반적인 행동이며 하다못해, 그냥 기존 파일들을 복사하고, 기존 파일에 _old를 붙이고 신규 파일에 _final, _final2, real_final, real_final2 들을 붙여가는 것은 직관적이며 누구나 해본 일이다.
하지만 Git에서는 브랜치를 활용해서 이것들을 쉽고 가볍게 활용할 수 있다.
쉽게 말해 브랜치는, 그냥 그 상태를 가리키는 포인터 변수이다.
Git의 원리 강의 추천
Git 강의와 책은 무료, 유료 등 너무 많다.
내가 여러 강의를 보았을 때 가장 깔끔하고 이해하기 좋은 강의는 생활코딩에서 만든 유투브 강의이다.
무엇보다 Git의 원리를 .git 파일 내의 변화를 비교해 가면서 설명하는 것이 인상 깊었다.
매우 매우 추천하는 강의이다.
https://www.youtube.com/watch?v=hFJZwOfme6w&list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk
결론
Git은 소프트웨어 개발자라면 피할 수 없는 기능 중 하나다.
무조건 사용해야 하고, 다양한 상황을 피하지 말고 활용하고 계속 공부하면서 체득해야 진정한 소프트웨어 개발자라고 할 수 있을 것 같다.
'개발 > Git' 카테고리의 다른 글
[Git] 좋은 commit message 작성 (0) | 2023.01.08 |
---|---|
[Git] 터미널에 Git branch 표시 (0) | 2023.01.05 |
[Git] Gerrit Reviewer 등록을 자동화하자 (0) | 2023.01.05 |
[Git] Git을 사용하는 방법 shell(cli)방식과 GUI방식 (0) | 2023.01.04 |
[Git] Git alias 활용해서 생산성을 높이자 (0) | 2023.01.04 |