SUE 개발 블로그

Git & GitHub 깃과 깃허브 본문

Git & GitHub

Git & GitHub 깃과 깃허브

이수광 2023. 11. 17. 06:37

git  

깃이란 Version Control System ( VCS ) 버전 관리 시스템으로 소스코드를 효과적으로 관리할 수 있는 무료 공개 소프트웨어이다. 깃은 분산형 관리 시스템으로 소스코드를 여러 개발 PC와 저장소에 분산해서 자장하기에 중앙 서버에 장애가 발생해도 로컬 저장소에 커밋할 수 있으며 로컬 저장소들을 이용해 중앙 저장소의 복원도 가능하다. 또 한 사본을 로컬에서 관리하기에 빠르다. 

장점

  • 소스코드를 주고받을 필요없이 같은 파일을 여러 명이 동시에 병렬 개발이 가능.
  • branch ( 독립공간 ) 를 통해 개발 후 본 프로그램에 합치는 방식 ( merge ) 으로 개발 진행이 가능.
  • 분산 버전관리라 인터넷이 연결되지 않은 곳도 개발 진행가능.
  • 중앙 저장소가 날라가버려도 다시 원상복구할 수 있다.
  • 팀이 아닌 개인 프로젝트라도 버전 관리를 하며 체계적으로 개발, 배포하는 과정이 편해진다.

그럼 Version 이란 ?

일상에서 작업 중 이런 것을 많이 봤을텐데, 이런 것을 '버전'이라고 할 수 있다.

 

무엇이 최종버전이고, 어떤 버전을 찾으려 할 때 고난을 겪을 수 있다. ( 개인이 아닌 협업 상황이라 생각해보자 🙊 )

 

왼쪽과 오른쪽의 차이를 보자 언제 누가 무엇을 했는지 알 수 있다 ! = 이런 식으로 코드를 관리하는게 바로 git이다.

코드 버전 관리를 하는 이유가 뭔가요 ?

  1. 수정할 때 마다 파일을 새로 만들면 관리가 힘들어지기 때문에.
  2. 언제든지 이전 버전의 코드로 돌아갈 수 있기 때문에.
  3. 이력을 남기기 위해서.
  4. 하나의 프로젝트를 두고 여러명의 개발자들이 협업할 수 있기 때문에.

다양한 툴이 존재하지만 현재 세계적으로는 git이 가장 많이 사용되고 있다.

 

Github 은 뭔디 ?

  • git을 사용한 프로젝트들의 저장소.
  • 개발자들의 Social Network.

git은 프로젝트의 버전관리를 도와주는 시스템이고

GitHub은 Git을 이용해 버전관리를 한 프로젝트들을 관리하게 해주는 호스팅 서비스(사이트)이다.

 


git의 기본적인 명령어 ( 가장 중요 ) 를 살펴보자.

git 시작 git init
git 상태 확인 git status
파일 수정 이력 기록 준비 git add
파일 수정 이력 기록 git commit
 파일 업로드 git push
commit 이력 보기 git log

 

이제 git이 진행되는 과정을 살펴보자.