공부중

[Git] Git에 대한 이해와 형상 관리 도구란?

kangminhyuk1111 2024. 6. 20. 11:40

Git 이란?

Git은 간단하게 얘기하면 형상 관리 소프트웨어이다.
명령어 단위로 이루어진 프로그램이다.

Git 특징

Git은 빠른 속도, 단순한 구조를 가지며 직관적이고 명확하다.
분산형 저장소를 지원하며, 비 선형적 개발이 가능하다.

많은 사람이 Git을 어렵게 느끼는 이유중 가장 큰 점은 협업에서 발생한다.
Git을 단순 소스코드 버전관리 및 저장소 느낌으로 사용한다면 크게 어렵지 않다.

Github기준으로 그냥 git add -> commit -> push해서 사용하면 크게 문제가 없을 것이다.
이후 생성된 repository에서 그냥 clone하고 사용하거나 fork하거나 하면 되니까..
단순하게 혼자 소스코드를 관리할래 라면 그냥 대충 찾아보고 써도 된다.

하지만, Git은 위에도 말했듯이 형상 관리 도구 이다.
형상 관리 도구란 개발에서는 우리가 만든 소프트웨어의 변경사항을 체계적으로 추적하는데 의의가 있다.
우리, 혹은 팀이 만들어낸 코드를 체계적으로 관리하고, 버전을 명시해서 추후 빠른 대응이 가능하도록 도움을 주는 도구가 Git이라는 소프트웨어 가진 가장 큰 장점이라고 생각한다. 물론 제대로 학습하지 않으면 오히려 도움이 안될 수 있다.

Local과 Remote

Git에는 LocalRemote라는 개념을 사용하여 코드의 버전을 관리한다.

Local이란 개인이 사용하는 컴퓨터, 즉 개인의 저장소를 의미한다.
Local에서 작업했다 -> 내 컴퓨터에서 작업했다. 라는 의미와 동일하다.

그렇다면 Remote는 어떤 것일까.
Remote는 원격 저장소 즉, 중앙 저장소 혹은 중앙 서버라고 할 수 있다.
예를 들어, 우리의 프로젝트 main을 내가 작업해서 올리고 싶다면 어떻게 하는 것이 좋을까 고민해보자.

Git 저장소에 존재하는 main을 나의 Local 저장소에 가져온다.
이때 가져오는 Git 저장소가 Remote인 것이다. Remote는 결국에 원격 저장소라는 의미이고 원격 저장소에 존재하는 소스 코드를 가져와서 나의 컴퓨터 환경에서 작업하는 것이 결국 Local에 가져와서 작업한다는 의미이고, Local 작업을 완료하고 다시 Remote저장소에 올리면 비로소 한개의 작업이 완료되는 것이다. 하지만 이 방법은 간단하게 알아 들을 수 있게만 작성한 것이지, 중간중간 빠진 부분이 많다.. branch, commit, push 등등.. 이 부분은 나중에 알아보고 일단 간단하게 Git이 무엇인가 이해하는 것이 먼저라고 생각한다.

결국에는 Git이란 형상 관리 도구이며, 이것은 버전 관리 및 협업을 용이하게 하는 도구이다.

최근에는 Git을 활용하지 않는 경우가 거의 없을 정도로 매우 많은 개발자 및 팀이 사용하는 도구이며, 선수 지식이 필요하기 때문에 학습을 미리 해놓고 Git을 사용하는 것을 지향한다.

반응형