[Git] Git사용하기

youngseo·2022년 3월 29일
0

GIT

목록 보기
2/14

Git

1. Git이란?

GitVCS(Version Control System) 중 하나로 소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있도록 해주는 무료, 공개 소프트웨어이다.

VCS (Version Control System) == SCM (Source Code Management) < SCM (Software Configuration Management: 형상관리)

형상관리는 버전관리보다 더 큰 개념이다.

소스코드를 깃허브와 같은 클라우드플랫폼에서 사용할 경우 CLI커맨드로 버전관리를 수행해야하기 때문에 CLI커맨드로 git을 사용할 줄 알면 GUI도구가 제공하는 기능에 대한 이해가 빠를 수 있다.

2. git의 특징과 이점

git의 특징

  • 빠른속도, 단순한 구조
  • 분산형 저장소 지원
  • 비선형적 개발(수천개의 브랜치) 가능

git의 이점

  • 소스코드를 주고받을 필요 없이 동시작업이 가능해져 생산성이 증가한다.
  • 수정내용은 commit 단위로 관리, 배포 뿐 아니라 원하는 시점으로 Checkout 가능하다
  • 새로운 기능 추가는 Branch로 개발하여 편안한 실험이 가능하며, 성공적으로 개발이 완
    료되면 Merge하여 반영한다
  • 인터넷이 연결되지 않아도 개발할 수 있다

3. git flow 이해를 위한 바탕지식

git objects

  • Blob: 파일 하나의 내용에 대한 정보
  • Tree: Blob이나 subtree의 메타데이터(디렉토리 위치, 속성, 이름 등)
  • Commt: 커밋 순간의 스냅샷

git repository

  • 원격 저장소 (remote repository)
    • Upstream Repository : 개발자들이 공유하는 저장소로 최신 소스코드가 저장되어 있는 원격 저장소
    • Origin Repository : Upstream Repository를 Fork한 원격 개인 저장소
  • 로컬 저장소 (local repository)
    Local Repository : 내 컴퓨터에 저장되어 있는 개인 저장소

git의 세가지 상태

  • Committed: 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미한다.
  • Modified: 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 말한다.
  • Staged: 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미한다.

3. git flow와 CLI

  • 수정된 파일을 git add를 통해 staging area에 파일을 stage해서 커밋할 스냅샷을 만든다.
  • staging area에 있는 파일을 git commit을 통해 내컴퓨터에 저장되어 있는 개인저장소(localrepo)에 저장한다.
  • localrepo에 있는 파일을 git push를 통해 원격저장소(Remote repo)에 저장한다.
  • working directory
    • 사용자가 지금 사용하고 있는 컴퓨터에 있는 작업 디렉토리를 의미.
    • 아직 버전으로 만들어지기 전 단계.
  • staging area
    • 사용자가 설정한 파일들이 임시적으로 저장되는 공간.
    • staging area에 올라온 파일들은 git이 모든 변경사항을 추척하게 된다.
    • 버전을 만들려고 하는 파일들이 이에 해당.
  • local repo
    • staging area의 파일들을 최종적으로 우리 컴퓨터에 저장하는 저장소.
    • ex) github저장소
    • 만들어진 버전 파일들이 포함된다.

4. git !== github

Git

개발을 진행하며 작성하는 소스코드가 업데이트 되는 버전을 기록해두고 관리할 수 있는 소스코드 버전 관리 시스템. 트리이다.

Github

git이라는 도구를 위한 원격저장소 서비스(Cloud REmote REpository Services)를 하는 웹서비스이다. (이러한 웹서비스에는 Gitbub외에도 BitbucketGitLab이 있다.)


참고자료
Git공식페이지
저장소 관련 정리

0개의 댓글

관련 채용 정보