[Git] Git이란?

DongEun·2022년 11월 2일
2
post-thumbnail

Git : 소스 코드를 효율적으로 관리하기 위해 만들어진 "분산형 버전 관리 시스템" 입니다.
출처 : [웹개발 기초] Git 이란?

1. Git의 장점

  • 소스코드 변경 이력을 볼 수 있으며 이전 버젼의 코드를 복원 할 수 있어요.
  • 소스코드를 USB나 메일로 보낼 필요 없고 여러명과 동시에 작업 할 수 있는 병렬개발이 가능해요.
  • 인터넷 연결이 되지 않은 곳에서도 개발을 진행 할 수 있고, 분산 버전관리이기 때문에 중앙 저장소가 삭제되어도 원상복구가 가능해요



2. Git의 기본 용어

  • Repositories
    => 저장소를 의미하며, 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장한다.
    1. Local Repository: 나의 PC에 저장되는 개인 전용 저장소
    2. Remote Repository: 원격 저장소 전용 서버에 저장되는 저장소(github , gitlab...)

  • Worktree
    => 저장소를 어느 한 시점을 바라보는 작업자의 현재 시점.

  • Staging Area
    => 저장소에 커밋하기 전에 커밋을 준비하는 위치.

  • Commit
    => 현재 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장하는 작업.

  • Head
    => 현재 작업중인 Branch를 가리킨다.

  • branch
    => 가지 또는 분기점을 의미하며, 작업을 할때에 현재 상태를 복사하여 Branch에서 작업을 한 후에 완전하다 싶을때 Merge를 하여 작업을 한다.

  • Merge
    => 다른 Branch의 내용을 현재 Branch로 가져와 합치는 작업을 의미한다.



3. Git 기본 명령어

  • git init
    => 버전관리 하고싶은 폴더에서 초기화

  • git clone <주소>
    => 기존 소스 코드 다운로드/복제
    1. ex) git clone https://github.com/kimdongeun12/react-todo.git

  • git branch <브렌치명>
    => 독립적인 공간생성
    1. ex) git branch dev

  • git checkout
    => 브랜치 이동
    1. ex) git checkout dev

  • git add <파일/디렉토리 경로>
    => 새로운 파일을 추가하거나 존재하는 파일 스테이징
    1. ex) git add . => 변경사항 모두 스테이징
    2. ex) git add example.txt

  • git commit -m <커밋 메세지>
    => 수정되고 추적되는 모든 파일의 변경 사항 커밋하기
    1. ex) git commit -m "first commit"

  • git push origin <브랜치이름>
    => 커밋된 변경사항 업로드
    1. ex) git push master

  • git pull origin master
    => 원격 저장소의 변경 내용이 현재 디렉토리에 가져와지고(fetch) 병합(merge)됨

  • git merge <다른 브렌치명>
    => 현재 브랜치에 다른 브랜치의 수정사항 병합
    1. ex) git merge dev



4. Git Gui

Gui란 Git을 좀 더 사용하기 쉽게 도와주는 툴이에요.
대표적으로는 Github Desktop과 제가 현재 사용하고있는 Sourcetree등이 있는데
이러한것들은 시각적으로 잘 표현되어있어서 아직까지도 종종 사용하고있어요



reference

profile
다채로운 프론트엔드 개발자

0개의 댓글