[GitHub] GitHub & Git

jungeundelilahLEE·2020년 8월 27일
0

GitHub

목록 보기
2/4
post-thumbnail

# INDEX

1. Git vs Github
   1-1. Git
   1-2. 용어정리

1. Git & Github

  • Git : 소스코드 변경사항을 효율적으로 관리하기 위한 분산형 버전 관리 시스템
  • Github : Git을 기반으로 하는 데이터 저장소

1-1. Git

1) 기본개념

  • 단순히 마지막 작업내용만을 저장하는 것이 아니라, 전부 복제(clone)하는 방식 . 따라서 서버에 문제가 생겨도 해당 복제물로 다시 작업 가능.
  • 기존 델타 기반의 VCS와 달리 GIT은 데이터를 '연속되는 스냅샷'과 같은 개념으로 저장
  • 시간 순서대로 저장

2) GIT의 상태

(1) Committed : 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것

(2) Modified : 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것

(3) Staged : 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태

=> 보통 파일 및 폴더를 working tree 라고 부르며, 여기에서 파일을 수정
=>  commit을 실행하기 전의 repository와 working tree 사이는 staging area 또는 index. 
=> commit과정은 모든 수정사항을 repository에 모두 저장하는 것이 아닌, staging area에 저장.
=> 이 staging area 에서 필요 여부에 따라 commit
=> staging area에 있는 파일들을 git de commit하여 스냅샷으로 저장

3) Git의 장점

  • 변경사항에 대한 추적 가능 (수정, 삭제, 비교, 되돌아가기 등)
  • Github을 통한 공유의 편리성
  • 2인 이상 협업시 개발의 편리성

1-2. 용어정리

1) Commit

: 깃에 데이터가 저장되어 온 기록(파일 추가, 변경 등)을 남기는 행위

- 변경한 시간 순서대로 저장
- 영문과 숫자로 이루어진 40자리 이름으로 각 커밋 구분

2) Repository

: 저장소

2-1) Remote Repository (원격저장소)

: 원격 저장소 서버에서 관리 (for 협업)

2-2) Local Repository (로컬저장소)

: 개인 컴퓨터 서버에 저장 (for 개인)

3) Head

: 현재 커밋한 소스코드

4) Branch

: 코드를 여러개로 복사한 후, 이전의 코드와는 독립적으로 개발하는 것

5) Push

: 로컬 저장소의 수정사항을 원격 저장소에 업로드 하는 행위 

6) Pull

: 원격 저장소에서 로컬 저장소로 다운로드 하는 행위 

7) Work Tree

: 폴더

8) Index

: 커밋을 실행하기 전의 저장소와 작업 트리에 존재하는 공간으로, 모든 변경사항이 포함된 파일들의 집합.
- 인덱스에 존재하는 파일 중 선택적으로 commit

1-3. commit 활용 tip ^.~

  • 수정하는 부분을 업데이트 할 때, 구체적이고 명료한 description을 남기면, 나중에 변경 내용을 추적하기에 용이해요!
profile
delilah's journey

0개의 댓글