전공공부

git 기본 명령어

prefer_all 2022. 10. 11. 12:56
<목차>
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