brunch

You can make anything
by writing

C.S.Lewis

by 임주형 Jan 07. 2024

개발PM이 알려주는 테크상식! Git과 Github란?

꼭! 알아야 하는 기본 테크 상식 git과 github (기본편)

구독자 여러분들 안녕하세요,  [개발PM이 쉽게 쓰는 IT 이야기]

오늘은 Git과 Github에 대해 알아보겠습니다.

Git과 Github 너무나 많이 들어봤지만, 정확히 모르겠다면! 꼭 보셔야 합니다.



Git이란? ‘시간 여행하는 개발 프로젝트 관리자 인셈 입니다.


•Git은 파일의 변경 사항을 시간에 따라 추적하는 버전 관리 시스템(VCS, version Control System)

•이를 통해 이전 버전으로 되돌아가거나, 수정사항을 비교프로젝트에 여러 사람들과 함께 공동작업이 가능

여러 개발자가 동시에 동일한 프로젝트에서 작업할 수 있도록 합니다.




* 5가지의 아주 중요한 개념이 있습니다.

1.저장소 (Repository, 'Repo/레포'라고 현업에서 부릅니다.):

- 저장소는 파일과 그들의 수정 기록의 모음입니다.

- 로컬 저장소는 여러분의 기계에, 원격 저장소는 서버에 호스팅됩니다.

2.커밋 (Commit):

- 커밋은 프로젝트의 특정 시점의 스냅샷입니다.

- 저장하려는 변경 사항의 집합을 나타냅니다.

3.브랜치 (Branch):

- Git은 브랜치를 사용하여 다양한 부분에서 개발자가 동시에 작업할 수 있게 합니다.

- 주 브랜치는 보통 master 또는 main이라 불리며, 각 개발자들은 작업을 위한 특정(개별) 브랜치를 만듭니다.

4. 머지 (Merge):

- 머지는 다른 브랜치에서의 변경 사항을 통합하는 것입니다.

- 기능이나 버그 수정을 완료한 후에는 해당 브랜치를 주 브랜치로 머지합니다. ⭐현업에서 표현!

5. 풀 리퀘스트 (Pull Request):

- Git 기반의 업무방식에는 '풀 리퀘스트(Pull Request)'는 주 브랜치에 변경 사항을 제안하는 방법입니다.

- 다른 사람들이 변경 사항을 검토한 후에 병합(Merge)하기 전에 논의하며 코드를 리뷰할 수 있습니다.




아직은 잘 이해가 안되실 수 있어요! 

Github까지 한번 읽어본 다음에는 더욱더 잘 이해되실 거에요! 자세히~ 설명해드릴게요!


Github? ‘Git의 소셜네트워크’ 인셈!


•GitHub는 Git 저장소를 호스팅하는 웹 기반 플랫폼입니다.

•Git 위에 그래픽 사용자 인터페이스(GUI)를 추가하고 협업을 위한 추가 기능을 제공합니다.

즉, Git은 예전 마우스가 없던 시절 코드 기반의 코드저장소였다면, 

Github는 마우스가 있는 컴퓨터를 사용한다고 이해하시면 됩니다! 

기능상은 거의 유사하지만 개발자들의 작업물이 가시적으로 보인다 안보인다 GUI의 차이가 가장 커요!

* 5가지의 아주 중요한 개념이 있습니다.

원격 저장소 (Remote Repository): 

- 코드를 중앙 서버에 저장하고 여러 개발자가 공유하며 작업하기에 용이 합니다.

협업(collaboration): 

- Github는 여러 명이 동시에 작업하는 협업 프로젝트를 지원합니다. 

- 각 참여자는 Github에서 자신의 작업을 업로드하고, 다른 참여자의 작업을 가져와서 병합(Merge)

     할 수 있습니다.

커뮤니티: 

- Github는 활발한 커뮤니티를 갖고 있습니다.  

- 다른 개발자와 질문과 답변을 나누고, 피드백을 받을 수 있습니다.

이슈 트래킹: 

- 프로젝트 관리를 위해 버그, 기능 개선, 작업 등을 이슈로 등록하고 관리할 수 있습니다.

코드 리뷰: 

- 변경된 코드에 대한 의견을 주고받고 품질을 향상시키기 위한 리뷰 프로세스를 제공합니다.


Git과 Github의 장점


효율적인 버전 관리: 

- Git은 소스 코드의 모든 변경 사항을 추적하고 기록하여, 이전 버전으로 되돌릴 수 있고, 협업 프로젝트에서 

   효율적으로 사용할 수 있습니다.


분산 저장: 

- Git은 분산 버전 관리 시스템이기 때문에, 소스 코드가 중앙 서버에 저장되는 것이 아니라, 모든 참여자가 자신의 컴퓨터에 저장합니다. 이렇게 하면, 중앙 서버가 다운되더라도 소스 코드를 복구할 수 있습니다.


온라인 공유: 

- Github는 Git으로 관리되는 프로젝트를 온라인에 쉽게 공유할 수 있습니다.

- 이를 통해, 다른 개발자와 협업하기  용이하고, 오픈소스 프로젝트에 기여할 수 있습니다.




마지막으로 요약하면서, Git과 Github의 차이를 알아볼까요?

Git은 버전 관리를 위한 도구!! (Git이란? ‘시간 여행하는 개발 프로젝트 관리자’)

GitHub는 Git 저장소를 호스팅하고 공동 작업하기 위한 플랫폼(Github? ‘Git의 소셜네트워크)입니다.

Git은 GitHub 없이도 사용할 수 있지만, GitHub 프로젝트에 참여하려면 먼저 로컬 Git 저장소를 설정해야 합니다. 즉, 줄기와 잎 같은 관계에요! 잎이 있기전 줄기가 있듯이, github(잎)의 친구들을 만들기전 

git(줄기)가 먼저 셋팅이 되어야 한답니다. 



(Git에 대해 자세히 알고 싶으시다면 다음편을 기대해 주세요! 개발에 진정으로 관심있는 사람들을 위한 git의 워크플로우까지 담은 글이 나올 예정입니다. )





2024/01/07 Jayden 

새해 복 많이 받으세요!

추가로, 정형 데이터베이스에 대해서 알고싶으시다면?!

https://brunch.co.kr/@joohyung-im/5 

작가의 이전글 프로젝트 매니저 스트레스 관리법 (현직자) 나만의 방법
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari