Git, GitHub 입문하기

·2022년 5월 22일

공부

목록 보기
3/4

👥 버전 관리 시스템

파일들의 작업을 관리해주는 시스템으로

시간에 따른 수정 내용 비교 가능, 공동 작업, 이전 프로젝트로 되돌리기 등의 기능이 있다.

버전 관리 시스템에는 세가지 유형이 있다.

◾️버전 관리 시스템의 세가지 유형

  1. 로컬 버전 관리 시스템
    로컬 환경에서 관리.
    로컬 버전 관리 시스템이 있기 전에는 이름을 날짜로 설정한 디렉터리를 만들어 관리하곤 했다. ( 그래서 실수에 취약했음.. )

  2. 중앙 집중식 버전 관리 시스템
    협업에 원활히 대응을 하기 위한 모든 사용자가 접근 가능한 중앙 집중식 버전 관리 시스템
    예를 들어 CVS, SVN, 퍼포스 등이 있다.

  3. 분산 버전 관리 시스템
    중앙 집중식 버전 관리 시스템은 중앙 서버에 문제가 발생했을 때 버전 관리를 못 한다는 단점이 있었다. 이러한 단점을 해결하기 위해서 만든 분산 버전 관리 시스템.
    클라이언트의 파일 저장소 전부를 복제하여 로컬 저장소에서 관리한다.
    예를 들어 깃, 머큐리얼, 바질, 다크스 등이 있다.

👥 Git

< git 의 장점 >
빠른 속도
단순한 구조
비선형적인 개발 _ 브렌치 모델
완벽한 분산
리눅스 커널과 같은 대형 프로젝트에서도 유용하게 사용 가능

◾️ 깃의 파일 관리 방법

깃에서는 데이터를 파일 시스템 스냅샷으로 취급하고, 변경이 없을 때에는 기존 파일에 대한 링크만 저장한다.

그래서 다른 서브버전에 비해 상대적으로 용량을 많이 차지하지만 빠르게 최신 버전을 가져올 수 있다.

◾️ git의 상태 관리

깃은 작업 디렉터리에 바로 로컬 저장소에 커밋하지 않고 스테이지 영역(또는 인덱스)에 추가한 후에 나서 커밋을 한다.

작업 디렉터리 -> 스테이지 영역 -> 로컬 저장소 -> 원격 저장소

스테이지 영역으로 git add
로컬 저장소로 커밋 git commit
원격 저장소로 푸쉬 git push

◾️ git 저장소 만들기

깃이 올바르게 설치 되었는지 버전 확인
git —version

깃 저장소로 사용할 디렉터리 생성.
mkdir 디렉터리이름

git init 을 통해 git을 초기화.
초기화를 통해 현재 디렉터리가 깃 저장소로 설정한다.

◾️ commit 하기

echo

실습을 위해 단순한 텍스트 형식의 파일인 README.MD 를 생성했다. 이 파일을 커밋해보겠다.

다른 SCM도구와 다르게 깃은 커밋 전에 반드시 대상 파일을 스테이시 영역에 넣는다. 이런 점이 불편할 수 있겠지만 변경된 내용 중에서 일부만 커밋할 수 있으며 그 변경 내용을 확인할 수 있다는 장점이 있다. 또한 커밋한 파일 중에 일부가 충돌되면 충돌 파일만 수정할 수도 있다.

git add 스테이시 영역에 추가

git commit -m 커밋

git diff —staged 변경 내용 확인

◾️ GitHub 활용하기

git config 에서 user.name과 user.email이 깃헙의 정보와 동일하게 설정해주고 진행한다.

git push -u origin master
git push -u main master

0개의 댓글