본문 바로가기
웹개발 수업/GitHub

GitHub

by gugigugi92 2023. 4. 7.

깃허브 
버전 관리 시스템
원하는 시점(버전)으로 이동할 수 있으며, 각 버전별로 여러 개발자가 협업할 수 있는 최적의 환경을 제공하는 시스템

SVN(거의 안씀) 
작업 내역 커밋시 변경사항과 히스토리가 즉시 서버로 전송되기 때문에 관리가 용이하다.
또한 간단한 설치와 사용방법으로 별도의 교육 없이도 초보자도 쉽게 사용할 수 있다.
하지만 항상 원격 저장소(SVN 서버)를 필요로 하며 서버간 버전 관리가 힘들다.
올리기 commit 받기checkout
서버가 터지면 복구방법이 전무

Git
SVN이 가지고 있던 클라이언트와 서버 간의 버전 관리 문제를 많이 보완해준 시스템.
서버 뿐만 아니라 로컬에서도 버전 관리가 가능하며, 로컬이 서버가 될 수 있고, 서버도 로컬이 될 수 있다.
브랜치라는 개념을 사용하여 개발자 마음대로 로컬 환경에서도 버전 관리가 가능하다.

Git-Hub
Git으로 관리하는 프로젝트를 호스팅 해주는 사이트 중 하나이다.
로컬 저장소에서 작업하던 파일을 다른 클라이언트와 공유하기 위한 서버이다.


저장소의 종류
- 로컬 저장소(local): 개인 전용
- 원격 저장소(remote): 공유 전용

작업 트리(Work-Tree)
폴더 또는 디렉토리를 의미한다.

스테이징 - add 
작업 트리를 커밋하기 전 작업 트리의 파일 상태를 기록하는 임시 공간.
커밋하기 전 반드시 커밋할 내용은 인덱스에  추가되어야 하며, 이를 스테이징이라고 한다.
변경한 모든 파일을 커밋하지 않고, 원하는 파일만 골라서 스테이징을 하게 되면
인덱스에 등록된 파일들만 커밋된다. 인덱스에 등록되지 않은 파일들은 커밋이 될 수 없다.

커밋 - commit
add -> commit 
버전을 만들 때 사용한다.
예를 들어 A와 B라는 파일을 하나의 버전으로 관리하고자 할 때 커밋을 사용한다.
커밋 시 고유한 커밋 아이디가 부여되며, 원하는 버전으로 돌아갈 때 커밋 아이디 중 앞 7글자를 사용한다.

체크아웃 - checkout
원하는 버전 또는 브랜치로 이동하고 싶을 때 사용한다.
체크아웃 명령어 뒤에 커밋 아이디 전체 또는 앞 7글자를 작성하면 해당 버전으로 이동하게 된다.

브랜치(Branch)
한 개의 저장소를 여러 갈래로 나누어 관리할 수 있다.
각각의 독립된 Branch에서는 각각의 개발자들이 기존 버전과 비교를 하거나 버그를 테스트하는 등
협업을 위해 필요한 목적으로 사용할 수 있다.
커밋을 통한 버전 관리는 한 가지의 커밋 히스토리 경로를 가지지만 브랜치를 나누면 커밋 히스토리를
여러 경로로 나누어 사용이 가능해진다.

푸시 - push
로컬 저장소에 커밋한 파일들을 원격 저장소에 추가하는 명령어이다.

풀 - pull
원격 저장소에 있는 파일들을 로컬 저장소로 전달받는 명령어이다.

클론 - clone
원격 저장소에 있는 파일들을 새로운 로컬 저장소로 복사하여 전달받는 명령어이다.(커밋, 푸시 히스토리까지 가져온다)

'웹개발 수업 > GitHub' 카테고리의 다른 글

Github 명령어  (0) 2023.04.07
브랜치  (0) 2023.04.07

댓글