S1_U7_CH4. Git

Judevv·2023년 5월 1일
0

Chapter 4. Git

학습 목표

  • Git의 환경설정을 할 수 있다.
  • 버전 관리 시스템의 필요성을 이해할 수 있다.
  • Github과 Git의 관계에 대해 이해할 수 있다.
  • local repository와 remote repository의 차이를 이해할 수 있다.

4-1. 버전관리 시스템 Git

  • Git은 개발자의 코드를 효율적으로 관리하기 위해서 개발된 '분산형 버전 관리 시스템'

    • commit 기능을 통해서 변경사항에 대한 스냅샷이 만들어지고, 이전 기록들에 대해서 추적이 가능
    • commit은 특정 시점에 생성된 백업 복사본(스냅샷)을 만드는 작업을 말함
    • 버전 관리와 협업을 할 때 유용
  • Git에서는 소스 코드가 변경된 이력을 쉽게 확인 할수 있으며, 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아 갈 수 있음

  • Github은 Git Repository를 관리할 수 있는 클라우드 기반 서비스

    • Git으로 버전을 관리하는 폴더에 대해서 Github을 통해 여러 사람들이 공유하고 접근할 수 있는 것
    • Github에서 Code Review 등을 통해 협업이 가능하고, 수많은 오픈 소스 프로젝트들이 GitHub로부터 호스팅되고 있어서, 누구든 자유롭게 기여할 수 있음
  • Git으로 관리되는 폴더를 Git repository 라고 함

    • Remote Repository와 Local Repository 두 종류의 저장소를 제공
    • 작업할 때는 Local Repository에서 할 수 있고 내가 작업한 코드를 공유하려면 Remote Repository에 업로드해 여러 사람이 함께 공유 가능
    • 다른 사람이 Remote Repository에 올려놓은 소스 코드를 내 Local Repository 로 가져오기도 가능
    • 먼저 원격 저장소를 내 원격 저장소로 가지고 오는 작업이 필요한데, 그 과정을 Fork 라고 함

Fork 를 하고나면 나의 Remote Repository에 코드를 옮겨온 상태

이 코드를 수정하기 위해서는 내 컴퓨터로 가져오는 작업이 또 필요

그 과정을 Clone 이라고 함

내 컴퓨터에서 소스코드 변경 작업을 완료했다면, 변경된 내용을 commit을 통해 저장해 준 뒤, Remote Repository에 반대로 올려주는 작업이 필요

이 과정을 Push 라고 함

Local Repository에 기록해 놓은 commit을 Remote Repository로 업로드할 수 있음

Push를 완료하고 나면 GitHub에는 Pull request라는 기능이 있어서, 내가 제안한 코드 변경사항에 대해 반영 여부를 요청할 수 있음

Remote Repository에서 변경 사항이 있을 때 Local Repository 로 가져오는 Pull 작업도 가능

profile
감성있는 개발자를 꿈꿔요

0개의 댓글