[Git] - 기본 명령어 정리

오유민·2024년 1월 29일

코드를 짤 때 그냥 파일로만 저장을 해두면 이전 작업으로 돌아가기 등의 작업을 하기 어렵다. 매번 파일의 복사본을 만들어 두는 건 매우 번거로우니 Git을 잘 활용하는 습관을 기르도록 하자.

1. git init

먼저 작업 폴더에서 git을 이용하고 싶으면 해당 위치에서 터미널을 열어 git init을 입력해야 한다.
이 시점부터 git이 우리가 파일을 생성하고 코드를 작성하는 것을 추적하기 시작한다.

2. git add, git commit

파일을 생성하여 코드를 다 짠 뒤 해당 코드를 따로 기록을 해두고 싶을 때가 있다. 그럴 땐 터미널에

git add 파일이름
git commit -m '메세지'

를 하면 된다. git commit은 현재 상태를 저장해주는 명령어이다. 이렇게 하면 내가 원하는 파일의 내용을 어딘가에 기록해준다. '메세지' 부분에는 주로 내가 무슨 기능을 추가했는지와 같은 커밋 내용을 쓰면 된다. 정확히 말하면 '기록'보다는 '버전 생성'이라는 표현이 맞다.

더 자세히 설명하자면, git add를 하면 파일이 staging area에 먼저 보관된다. staging area는 commit을 하기 전에 commit할 파일들을 골라놓는 곳으로, 이곳에 파일을 넣는 행위를 staging이라고 한다.

그 다음 git commit을 하게 되면 해당 파일은 repository로 간다. repository는 commit된 파일의 버전들을 모아놓는 곳으로, repository를 모두 구경하고 싶으면 작업 폴더 안에 숨겨져있는 .git 폴더를 열어보면 된다.

다른 명령어들

여러 파일을 동시에 staging 하고 싶을 때

git add 파일명1 파일명2

작업 폴더의 모든 파일을 전부 staging 하고 싶을 때

git add . 

현재 작업 디렉토리의 상태를 확인하고 싶을 때 (변경된 파일, untracked 파일, uncommited changes 등)

git status

staging된 파일을 취소하고 싶을 때

git restore --staged 파일명 

commit 기록들을 한 눈에 보고 싶을 때 (vim 에디터 켜짐, q로 종료)

git log --all --online

바로 전 commit과 현재 코드의 차이점 보고 싶을 때 (vim 켜짐)

git diff 

하지만 터미널로 한 눈에 코드의 차이점을 알아보기 힘들다는 등의 문제로 보통은 다른 명령어와 함께 쓴다.

과거의 특정 commit과 현재 파일을 비교하고 싶을 때

git diff commitId // commitId는 git log --online 했을 때 보이는 노란 글자들 

과거의 특정 commit 2개 간의 차이점 비교

git diff commitId1 commitId2

현재 파일과 최근 commit을 더 시각적으로 비교하고 싶을 때

git difftool

현재 파일과 특정 commit의 차이점 비교

git difftool commitId

특정 commit 2개의 차이점 비교

git difftool commitId1 commitId2

하지만 요즘은 에디터들이 잘 되어있어서 터미널에서 git difftool 같은 기능을 사용하지는 않는다. vscode의 extensions 메뉴에서 git 관련 부가기능 설치를 헤주면 더 편리하게 git diff를 할 수 있다. (ex. git graph)

profile
개발자연습생의 개발 일기

0개의 댓글