<목차>
1. git에 관하여: 영역 및 상태
2. git의 기본 명령어
3. branching
4. remote
5. git restore VS reset
git merge VS rebase
git이란?
git은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다.
즉, git 프로젝트 directory에는 .git을 포함해 수 많은 파일들이 존재하고, .git 디렉토리는 git 프로젝트에서 작업한 수많은 정보들과 여러 버전들에 대한 정보를 저장하는 데이터 베이스이다.
git의 세 가지 영역
Working Directory | 실제 작업 공간. 이 곳에서 파일을 수정하거나 추가한다. |
Staging Area | Working Directory에서 작업한 내역을 Git Directory로 commit하기 위해 commit 대상들을 모아두는 장바구니 |
Git Directory | 실제로는 .git이라는 이름의 directory로, 이전 버전의 commit 데이터와 git project 정보를 담고 있는 핵심 |
git의 상태
Tracked | git이 해당 파일을 추적 및 관리하는 상태 즉, Tracked 상태인 파일은 최소한 한 번 git add 명령어를 통해 staging area에 포함되거나 commit을 통해 git 디렉토리에 저장된 파일인 것임. |
Untracked | git이 해당 파일을 추적 및 관리하지 않는 상태 즉, Working directory에 존재하는 파일 전부를 git이 관리하는 것은 아님 Untracked인 파일은 수정되거나 삭제되어도 git은 전혀 신경쓰지 않음 |
변경 발생 기준은 '파일이 staged 또는 commit된 시점 이후로 변경이 생겼는가'
즉, modified이거나 unmodified인 파일은 Tracked 상태임
Modified | 파일이 staged 또는 commit된 시점 이후 변경이 생김 |
Unmodified | 파일이 staged 또는 commit된 시점 이후 변경이 안 생김 |
git의 기본 명령어: add, unstage, commit
remove, restore, unmodify의 차이점
git diff
Branching
branch는 만들어 놓은 버전(main)에 복사본(branch)를 만들어 다른 방향으로 작업을 이어나갈 수 있게 한다.
즉, commit 사이를 이동할 수 있는 포인터와 같은 개념이다.
Branch 관련 명령어: create, checkout, commit
master는 마지막 작업을 가르키고 HEAD는 현재 작업을 가르킨다.
예제)
Remote
원격 저장소
Remote 기본 명령어
Git restore VS reset
Git merge VS rebase
Branch VS Tag
'전공공부' 카테고리의 다른 글
진수 (2진수, 8진수, 10진수, 16진수 변환) (0) | 2022.09.07 |
---|