본문 바로가기
프로그래밍/IT지식

[Git & Github] 깃, 깃허브

by 준보틱스 2024. 6. 23.

git

git은 소스코드의 버전을 관리하는 툴이다. 코드를 언제 누가 무엇을 변경했는지 서로 비교할 수 있고, 여러개의 코드를 합치고 버전을 옮길 수 있다. 하나의 절대적인 프로젝트를 기준으로 개발자들이 프로젝트 코드를 다운받아서 작업을 하게 된다. 그리고 작업이 끝나면 다시 프로젝트에 본인의 소스코드를 업로드하게 된다. 이러한 과정을 git이 도와준다.

 

개발자들은 자신이 짠 코드들을 git으로 업데이트하기 위해 준비한다. 이를 커밋(commit)이라고 한다. 이 커밋을 git에 푸시(push)하면 최종적으로 기존의 커밋들에 쌓이면서 자연스럽게 버전이 형성된다. 이렇게 개발자가 커밋을 쌓은 후, 다른 개발자는 마지막 커밋을 기준으로 해서 패치(Fetch)한 후 그 위에 본인의 코드를 작성한다.

 

여러 명의 개발자들이 하나의 프로젝트에서 코드를 작성하면 여러가지 문제(코드 충돌)가 발생할 수 있다. git은 충돌을 해결할 수 있도록 도와준다.

 

GitHub

GitHub는 git이 적용된 원격 코드 저장소이다. 개발자들은 본인의 프로젝트를 github에 올려서 관리하며 오픈소스를 공개할 때도 github에 많이 올린다. 즉 git에서 push를 통해 GitHub에 올리고 GitHub는 이런 코드를 저장한다. GitHub를 통해 소스코드를 저장하고 공유한다. 또한 개발자들끼리 코드에 대해 논의할 수 있는 "issue", "pull request" 등을 제공한다. 즉, 개발자들끼리 협업하는 공간으로 볼 수도 있다.