Github 동작 원리

2022. 9. 14. 14:58·개발정보
반응형

개발자라면 당연히 자주 사용하게 될 Github인데, “ Github는 어떤 방식으로 동작을 하는 것일까? “

라는 고민을 하였다.

Git 프로젝트는 원격 저장소를 포함해서 4가지 요소로 나누어진다.

  1. Working Directory
  2. Local Repository
  3. Staging Area
  4. Remote Repository

Working Directory

간단하게 말하면 로컬 환경에서의 작업 파일이다.

Local Repository

Working Directory에 있는 .git 폴더이다.

git add, git commit 을 하면 .git 폴더 안의 데이터들과 해시를 담고 있는 파일이 수정된다.

여기서 수정되는 내용이 커밋을 통해 수정되는 내역이다.

Staging Area

.get, 즉 Local Repository에서 git add 를 했을 때 관리되는 영역이다.

git commit 전까지의 파일이 올라가는 곳이다.

Remote Repository

Github의 Repository라고 생각하면 된다.

동작 과정

  1. git clone으로 Working Directory가 만들어지고 우리가 작업을 하면
  2. git add명령어를 사용해서 Staging Area에 파일을 올린다.
  3. git commit을 사용하면 Staging Area 데이터가 Local Repository로 데이터가 이동한다.
  4. 마지막으로 git push 명령어를 통해서 Local Repository의 데이터가 GitHub의 Repository에 올라간다.

반응형
저작자표시 비영리 변경금지

'개발정보' 카테고리의 다른 글

메모리  (1) 2022.09.17
힙 메모리 단편화  (1) 2022.09.16
웹소켓  (0) 2022.06.06
Side Effect  (1) 2022.05.16
Singleton 패턴  (2) 2022.05.04
'개발정보' 카테고리의 다른 글
  • 메모리
  • 힙 메모리 단편화
  • 웹소켓
  • Side Effect
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    react
    영어독학
    바질
    Node.js
    알고리즘
    자바스크립트
    typescript
    프로그래머스
    리얼학습일기
    식물
    리얼클래스
    CCNA
    ChatGPT
    next.js
    네트워크
    redux
    ReactNative
    Babel
    네이버 부스트캠프
    Docker
    영어회화
    CSS
    바질 키우기
    webpack
    덤프
    타입스크립트
    리액트
    다이소
    타일러영어
    javascript
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
Github 동작 원리
상단으로

티스토리툴바