Git과 Github의 개념

ssolcode·2021년 9월 2일
0
post-thumbnail

✍ 참고 영상

드림코딩엘리 - 깃,깃허브 제대로 배우기
얄팍한 코딩사전 - 가장 쉬운 Git 강좌
생활코딩 - 지옥에서 온 Git
Git 공식 설명서

👉 이어지는 다음 포스팅

Git과 Github의 사용법


Git의 다양한 기능을 처음부터 너무 완벽하게 이해할 필요도 없고, 또 이해할 수도 없다고 생각한다. 그러니, 지금 단계에서는 아 이런거구나 정도로만 정리한다.

버전 관리 시스템

현재 에디터에서 편집 중인 파일에서는 ctrl+Z를 여러 번 눌러 쉽게 이전 상태로 돌아갈 수 있다. 하지만 파일을 저장하고 에디터를 종료해버리면, 다시 에디터를 실행하여도 에디터 종료 이전의 코드로는 돌아갈 수 없다. 이런 경우를 위해서라도 이전에 작성한 모든 변경 사항을 기록주는 버전 관리 시스템(Version Control System)이 필요하다.

"버전 관리" 라는 것을 복잡하게 생각할 것도 없는게, 우리는 이미 버전 관리를 (매우 힘겹게) 해오고 있었다. 이렇게;;
우리의 버전관리

하지만 "버전 관리 시스템"을 통해 우리는 더 이상 파일의 이름을 더럽히지 않으며 버전을 관리할 수 있다. 우리가 흔히 사용하는 google drive, dropbox 등이 이러하다. 단순한 이미지나 영상을 넘어 아주아주 보옥잡한 코드들을 관리해야 하는 개발자들은 이와 같은 개념의 CVS, SVM, GIT 등을 사용하여 버전을 관리한다.


Git

소스 코드의 변경 사항을 관리하고 추적할 수 있는 버전 관리 시스템
(코드 뿐만 아닌, 텍스트도 가능)

✔ GIT 의 효용 가치

  1. 각 버전 별로 소스 코드가 변경된 이력들을 기록하며 관리
    (변경 사항을 저장할 때는 어떤 사항이 변경되었는지 코멘트를 작성해야 함)
  2. 이전 버전으로 되돌아가야 할 때, 각 변경 이력들이 기록되어 있어 되돌아가야 할 지점 명확
  3. 누가 어떤 파일을 추가, 수정, 삭제했는지도 확인이 가능
  4. 특정 시기의 버전과 현재 버전을 비교하며 변경 사항 파악 가능
    (어떤 부분이 어떻게 바뀌었는지 하이라이트 되어 표시됨)
  5. Git으로 관리되는 파일은 Github, GitLab 등 여러 원격 저장소를 이용해 백업 가능
  6. 원격 저장소를 통해 나의 코드를 타 개발자와 공유하며 협업 가능
  7. 타인의 오픈 소스를 fork해 와서 내 코드에 활용 가능
  8. 진행 중인 코드를 새로운 branch에 통째로 복사해오면, 이전 master branch의 코드에는 영향을 주지 않는 독립적인 개발 가능


Github

GIT repository를 관리할 수 있는 클라우드 기반의 remote repository(원격 저장소)

아무리 GIT을 통해 파일을 잘 백업해두어도, 컴퓨터가 고장나면 그러한 백업본들을 꺼내올 길이 없다. 그렇다고 해서, 이러한 백업본을 매번 다른 컴퓨터나 USB에 저장해야 할까? 놉! 바로 이것을 대신 해주는 대표적인 서비스가 Github이다. 즉, Git으로 버전을 관리하는 폴더에 대해서 Github을 통해 내 파일들을 백업해두는 것인데, 바로 이곳을 통해 여러 사람들이 소스를 공유할 수 있는 것이다. 쉽게 말해, Git이 동영상이면 Github는 유투브다.

Github에서 Code Review등을 통해 협업이 가능하고, 수많은 오픈 소스 프로젝트들도 GitHub로부터 호스팅되고 있다. 우리가 잘 알고있는 react 또한 페이스북에서 제공하는 오픈 소스이다. (react 홈페이지 오른쪽 구석 모퉁이에서 GIT hub 로고를 확인할 수 있다.) react에는 현재 약 1500여명의 contributor가 있다. 언젠가는 나도 GIT hub의 오픈 소스 생태계에 contribue(기존 소스에 기능을 추가 및 개선)하는 멋진 개발자가 되기를...🥲🤯

profile
인생 개발것...

0개의 댓글