thumbnail
Git 시작하기(1)
Git / Github
2022.01.30.

깃을 제대로 배워본 적 없이, SVN처럼 버전관리정도로만 사용하였는데, 이번에 제대로 기초를 잡아보려고 한다.

  1. 개발자가 되려면 Git 다루는 것이 필수 소양이다
  2. 현재 실무에서 Git을 다루지 못하면, MS-word, Excel을 다루지 못하는 것과 동일하다
  3. Git을 다루다가 꼬일 때 항상 인터넷을 검색을 통해 무지성으로 해결한다
  4. 실무에서는 SVN을 사용중이여서 Git을 제대로 다루려면 별도로 시간을 내야한다
  5. 향후 주니어를 만났을 때, 쉽게 설명해줄 수 있는 내용을 적고 싶다

깃이란?

  • Git은 VCS(Version Control System)의 한 종류
  • 프로젝트의 시간과 차원을 관리하는 것

Git은 분산형 버전관리 시스템의 한 종류이다. SVN과 다른 특징으로는 “분산형”이라는 것이 있는 데, 이것은 쉽게 말해 로컬에 소스, 변경내역을 분산하여 저장하여 관리한다는 것이다.

Git은 프로젝트의 시간과 차원을 관리하는 도구라고 생각하면 쉽다.

1. 시간

프로젝트의 버전을 과거로 되돌리거나 특정 내역을 취소

개발 프로젝트는 한번에 개발이 끝나는 경우(v1.0로 끝나는 경우)가 없다. 계속해서 신규 기능 구현, 수정, 삭제 등의 과정을 거치게된다.

v1.0 → v1.1 → v1.2 → v1.3 순으로 개발이 진행된 프로젝트가 있다고 해보자.

  • Q1) 만약 v1.3 버전이 배포되고나서 결함이 있는 것이 발견되었을 때 어떻게 v1.2로 돌아가야할까?
  • Q2) 만약 뒤늦게 v1.1에 배포되었던 혹은 그 이전에 했던 작업에 이상이 있는 것이 발견되어서 그것만 취소해야하면 어떻게 해야할까?

2. 차원

프로젝트를 여러 차원으로 나눠서 동시에 진행하고 각 차원을 병합

웬만한 개발 프로젝트는 혼자서 개발을 하는 경우가 없다. 하나의 메인 프로젝트에서 각 영역을 맡거나 협업하여 개발이 진행된다. 어떤 프로젝트를 진행하는 데, A, B 두명이 협업하여 나눠서 개발을 진행한다고 해보자.

  • Q1) 메인 프로젝트에서 A, B 두명이 실험적으로 기능을 추가해보고 싶을 때는 어떻게 해야할까?
  • Q2) A, B가 실험적으로 수정한 기능을 모두 메인 프로젝트에 반영해야하면 어떻게 해야할까?

Git을 사용하면 위와 같은 현상에서 효과적으로 대응할 수 있다고 한다. 한번 그럼 시작해보자..


참조

Thank You for Visiting My Blog, Have a Good Day 😆
© 2022 Engineer Haesim, Powered By Gatsby.