Git

민겸·2022년 9월 11일
0

Git

목록 보기
3/4

Git 이란?

git은 소스 코드 관리 시스템(Source Code Management)이라고도 불리는

버전 관리 시스템(Version Control System)들 중의 하나이다.

버전 관리 시스템

코드를 작성할 때 코드의 변경 사항을 저장하는 것은 필수이다. 단순히 코드를 작성한 파일을 내 컴퓨터에 저장하는 것으로 변경 사항을 저장할 수 있지만,
개발을 하다보면

  • 어떤 내용을 누가 어느 시점에 작성했는지 알아야할 때가 있고
  • 릴리스된 시점에 버전을 달아서 표시해주고 싶을 때도 있으며
  • 무언가가 잘못되었을 때 원하는 시점으로 돌아가고 싶을 때도 있고
  • 사고가 생겨서 내용이 날아간 경우 복구하고 싶을 때도 있고
  • 같이 일하는 사람들과 수정 사항을 공유하고 협업을 하고 싶을 때도 있다.

내 컴퓨터에 저장된 파일을 가지고 위의 모든 것들을 하려고 하면... 상상만 해도 복잡하다.

이 모든 걸 간단하게 할 수 있게 만들어주는 것이 바로 버전 관리 시스템이다.

버전 관리 시스템에는 Git, CVS, SVN, Mercurial, monotone등등이 있는데,

그 중에서 Git은 로컬 버전 관리 시스템이다.

Git의 특징

로컬에서 모든 작업을

Git은 거의 대다수의 명령이 로컬에서 이루어져서 네트워크의 다른 컴퓨터는 필요가 없다. 프로젝트의 모든 히스토리를 네트워크의 영향을 받지 않고 내 컴퓨터 안에서 버전 관리를 할 수 있기 때문에 미친듯한 속도를 보여준다. 즉, 오프라인 상태더라도 막힘 없이 일을 할 수 있고 네트워크에 접근하지 못해도 커밋을 날릴 수 있다.

??? : 인터넷이 안된다구요? 없어도 일 하는 데에 지장 없잖아요. 내일까지 가능하시죠?

복구는 쉽고 빠르게

Git에서 무언가를 하면 Git저장소에 데이터가 쌓인다. 되돌리거나 삭제할 수 있는 방법은 없다. 커밋을 하지 않으면 변경 사항을 날릴 수 있지만, 반대로 커밋만 하게 되면 데이터를 변경 사항을 날리고 싶어도 못 날린다. 그래서 Git을 사용해서 진행하고 있는 프로젝트는 무얼 하든 커밋만 중요한 시점에 날려주면 망쳐도 언제든 커밋한 시점으로 돌아갈 수 있다. 마치 개발자 전용의 타임 머신이라고 생각하면 좋을 듯 하다.

GitHub을 곁들인..

Git은 로컬 버전 관리 시스템인 만큼, 내 컴퓨터 안에서만 버전 관리를 할 수 있다. 하지만 GitHub이라는 플랫폼을 이용하면 내 로컬 저장소와 GitHub의 원격 저장소를 연결하여 사용할 수 있다. 커밋을 해둔 이력들을 원격 저장소로 푸쉬하는 단계만 거치면 바로 원격 저장소에 커밋 이력들이 올라가게 되고, 다른 사람들이 볼 수 있게 또는 없게 하는 것이 가능하다. GitHub을 사용하면 다른 개발자들과 협업을 할 수도 있고, 내 컴퓨터가 갑자기 박살나거나 데이터 베이스만 쏙 날라가버려도 원격 저장소에서 다시 받아오면 된다.

profile
기술부채상환중...

0개의 댓글