세조목

Git Hub 정리 본문

데이터 분석 공부/내일배움캠프

Git Hub 정리

세조목 2024. 1. 26. 12:01

1. Git Hub?

Git Hub ≒ 개발자의 문서 ≒ 개발자들의 Notion

  1. 서로 같은 코드를 볼 수 있고
  2. 코드 리뷰를 공유할 수 있으며
  3. history, version 관리가 가능하다.

 

2. Git을 지원해주는 서비스

  1. Git
  2. GitHub
  3. GitLab

Git은 분석가에게 있어서 우선순위가 높지는 않지만

본인이 코드 활용을 자주할 것같다면 회사와 자기자신에게 자산이 된다.

 

여러 명과 코드 기반으로 프로젝트를 하는 경우 유용하며

특히 개발자와 협업하게된다면 Git을 알아두면 좋다.

 

개발자 ≒ 외국인

코드 ≒ 외국어

Git ≒ Google docs(or Notion)

 

3. 기본 개념

출처 팀스파르타

  • Workspace ≒ 윈도우 탐색기
  • Local repository
    • workspace는 vscode할때 작성하는 공간이면 코드가 저장되는 저장공간이 분리되어 있음
  • Remote Repository : 원격 코드저장소(인터넷)
    • 실시간으로 다른 사람들의 코드를 수정할 수 있음
    • Local Repository에 있는 코드를 Remote Repository에 옮기고
    • Remote Repository에 있는 코드를 다시 workspace에 옮긴다.
  • 명령어
    • git add : 작업공간에서 변경내용을 저장공간으로 추가
    • git commot : '의미있는 변경내용'을 저장소에 기록
      • 의미있는 변경내용이란 기존 파일 A와 수정한 파일 A`가 있을때  A`에서 수정한 내용을 의미함
      • 변경내용만 highlighting 해준다.
    • git push : Local Repository에 있는 코드를 Remote Repository로 보냄
    • git pull : Remote Repository에 있는 코드를 workspace로 가져옴

 

3-1. Local과 Remote를 분리해놓은 이유?

회사에서는 신입에게 자신들이 서비스하고 있는 코드를 수정할 권리를 바로 부여하지는 않는다.

코드 수정 권한을 부여했다가 잘못 건드려서 문제가 생기면 손실이 어마어마할테니까.

그래서 서비스 중인 코드(=Master, Main)는 보수적으로 운용하고,

개발을 위한 기존 코드를 복사하여 수정, 개발, 검증 후 Master, Main 코드에 적용한다.

개발을 위해 복사해둔 기존 코드가 위치한 곳을 Branch라고 부른다.

  • Master(Main) : 현재 프로그램이 돌아가는 코드
  • Branch : 새로 개발하는 코드
  • Merge : branch 검증이 끝났다면 master 코드에 병합함

4. Auto merge & Collaborators

매번 merge 요청을 allow하기가 번거로운 경우에는

autho-merge 기능을 키면 된다.

방법은 아래와 같다.

 

또는 나의 Git Hub에 사람들을 초대해서

초대받은 사람에 한해 자유롭게 코드를 수정할 수 있게 할수도 있다.