CodeStatesBootCamp/Review

Section 1 - Unit 3 : [Git] 기초 Review

JKROH 2023. 2. 17. 11:15
반응형
Review 에서는 학습한 내용을 다시금 기록합니다.
Unit Review는 학습한 내용 중 기존에 알고 있었지만 정확하게 이해하지 못하던 정보와 새롭게 알게된 정보를 기록합니다. 추가적인 설명을 요하는 부분은 댓글로 남겨주세요.
Section Review는 전반적인 Section을 되돌아보고 학습했던 시간과 과정, 내용을 총괄하여 기록합니다.

<<Git 기초>>


* 개요

  • 프로그래밍뿐만 아니라 어떤 프로젝트를 하더라도 버전의 관리는 필요하다.
  • 개인이 하는 과제나 프로젝트에서마저 최종, 최최종, 최최최종, 진짜 최종, 진진짜 최종 등등의 이름을 통해 버전 관리를 해본 경험은 누구에게나 있을 것이다.
  • 이러한 버전의 관리가 문서나 항목을 나만 다루는게 아니라 여럿이 다루는 팀 차원으로 넘어가면 버전의 관리는 더욱 어려워진다.
  • 우리는 버전 관리를 도와주는 툴인 Git을 활용하여 효율적으로 버전 관리를 할 수 있다.

버전 관리 시스템 - Git

* Git이란?

- Git

  • Git은 파일을 관리해주는 프로그램이다. 
  • Git을 통해 우리는 파일의 버전을 관리하고, 파일을 백업할 수 있고, 협업할 수 있다.

-Git으로 할 수 있는 것

  • 버전 관리
    • Git의 관리 하에 있는 디렉토리에 작성한 파일 및 문서는 Git의 추적 하에 놓이게 된다.
    • Git은 추적하고 있는 파일 및 문서의 변경 사항 및 변경 일시 등을 기록하여 버전을 관리한다.
  • 백업하기
    • Git은 작업물을 온라인 원격 저장소에 백업할 수 있게 해준다.
  • 협업하기
    • Git은 여러 작업자가 하나의 작업물의 다른 부분에 개입할 때, 작업물을 공유하고 취합할 수 있게 해준다.

-Git과 Github

  • Git은 Local 환경에서 버전을 관리해주는 프로그램을 의미한다.
  • 따라서 백업 또는 협업 기능을 사용하기 위해선 온라인 원격 저장소가 필요하다.
  • 이러한 원격 저장소 기능을 제공해주는 서비스 중 하나가 바로 Github이다.
  • 즉, Git은 Local에서 버전을 관리해주는 프로그램이며, Github은 Git을 클라우드 방식으로 구현한 서비스이다.


Git Workflow

* Git의 영역과 기본 명령어

- Git으로 파일 관리를 시작하기

  • git init 명령어를 통해 해당 디렉토리를 git의 관리 하에 놓이게 할 수 있다.
  • 'git config --global init.defaultBranch 변경할_브랜치_이름'  을 입력해 git init시 생성되는 기본 브랜치의 이름을 변경할 수 있다.
  • 'git branch -m 변경할_브랜치_이름' 을 통해 현재 위치하는 브랜치의 이름을 바꿀 수 있다.

- Work space

  • work space는 Git의 세 영역(Work space, Staging area, Local repository) 중 하나이다.

- 파일의 상태

  • git status 명령어를 통해 Git으로 관리되고 있는 파일들의 상태를 확인할 수 있다.
  • Git의 관리 하에 있는 파일의 상태는 크게 Untracked와 Tracked로 나뉜다.
  • Tracked 상태인 파일들은 수정되었을 때 Git이 파일의 변경 내용을 감지하지만, Untracked 상태인 파일들은 파일의 내용을 변경하여도 Git이 파일의 내용 변경을 감지하지 못한다.
  • Untracked 상태의 파일은 Commit 이후 Tracked 상태로 바뀐다.
  • Tracked의 세 가지 상태
    • Unmodifeid : 파일의 수정이 Git에 감지되지 않은 상태이다.
    • Modified : 파일의 수정이 Git에 감지된 상태이다.
    • Staged : 파일이 Staging area에 존재하는 상태이다.

- Staging area

  • Local repository에 저장할 파일들이 임시적으로 대기하는 영역이다.
  • git add . (디렉토리 내의 전체 파일을 스테이징)명령어를 통해 파일을 Staging area로 이동시킬 수 있다.

- Local repository

  • Local repository는 단순히 파일을 저장하는 공간이 아닌, 파일의 버전을 기록하고 관리하는 공간이다.
  • git commit -m "커밋_메세지" 명령어를 통해 파일을 커밋하여 Local repository에 올릴 수 있다.
  • 커밋 내역은 git log 명령어를 통해 확인할 수 있다.
  • Local 영역에서의 파일의 흐름은 다음과 같다.
    • 파일을 만듦(untrack / work)
    • add 로 stage에 올림 (untrack / stage)
    • commit 으로 Local Repo에 올림(track / local / unmodified)
    • 해당 파일을 수정(track / work / modified)
    • add (track / stage / staged)
    • commit (track / local / unmodified)

- 원격 repository에 업로드

  • 원격 repository에 업로드를 위해선 먼저 원격 repository를 Local repository와 연결해야 한다.
  • 'git remote add orgin 원격_저장소_URL' 을 입력해 Local과 원격 repository를 연결할 수 있다,
  • 'git push 원격_저장소_별칭 브랜치_이름' 을 입력해 작업물을 원격 repository에 업로드 할 수 있다.

- 원격 repository의 코드를 Local로 복사

  • 'git clone 원격_저장소_URL'  을 입력해 원격 repository의 작업물을 Local로 복사해 올 수 있다.
반응형