이번 포스팅에서는 깃(Git)의 기본 명령어에 대하여 공부를 해보고자 한다.
로컬 저장소 생성 시 사용하는 명령어
git init: 직접 생성하는 명령어
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/creamcream1217/hello-git.git
git push -u origin main
git clone: remote 저장소에서 복제하는 명령어
https://github.com/new 에서 github remote 저장소를 생성할 수 있다.
git clone <repository url>
git status
파일 상태를 확인하는 명령어
git diff
commit 된 파일 상태와 현재 수정 중인 상태를 비교하는 명령어
git diff --staged
commit 된 파일 상태와 add 된 파일의 상태를 비교하는 명령어
git diff <비교할commit해쉬1> <비교할commit해쉬2>
commit 간의 상태를 비교하는 명령어 - commit hash 이용
ex ) git diff 048171 0c747d
git diff HEAD HEAD^
commit 간의 상태를 비교하는 명령어 - HEAD 이용
가장 최근의 커밋과 그 전의 커밋을 비교한다
git diff <비교할branch1> <비교할branch2>
branch 간의 상태를 비교하는 명령어 - HEAD 이용
git add <filename>
git에 특정 파일을 추가하는 명령어
git add .
working directory에 있는 파일 중에서 변경된 모든 파일을 추가하는 명령어
.gitignore
사용자가 원하지 않는 파일들을 자동적으로 git 커밋 대상에서 제외시켜주는 것
git reset
commit을 취소하는 명령어
git reset HEAD <filename>
staged 상태인 파일을 untracked로 변경하는 명령어
git add <filename>의 반대
git reset HEAD
모든 파일의 add를 취소하는 명령어
git reset HEAD [파일명(경로포함)]
특정 파일의 add를 취소하는 명령어
git restore
과거 어느 시점의 commit으로 이동과 동시에 이동 시점 이후에 존재하는 commit을 삭제하는 명령어
git restore --staged <filename>
staged 상태인 파일을 untracked로 변경하는 명령어
git checkout -- <filename>
이전 commit으로 되돌아가는 명령어
checkout은 HEAD를 이동시켜 commit 위치를 변경시키는 것이라면, reset은 어느 시점으로 이동하고 그 이후에 commit들은 없앤다.
git commit
코드 변화를 기록하는 명령어
git commit --amend
마지막 커밋을 변경하는 명령어
git commit -m 'initial commit'
git add forgotten_file
git commit --amend
git commit --fixup
커밋을 병합하는 명령어
git commit -m 'initial commit'
git add forgotten_file
git commit --fixup HEAD
git log
커밋된 스냅 샷을 표시하는 명령어
--graph
브랜치와 머지 히스토리 정보까지 아스키 그래프로 보여준다.
--patch
각 커밋의 diff 결과를 보여준다.
--pretty
히스토리 내용을 보여줄 때 기본 형식 이외에 여러 가지 중에 하나를 선택할 수 있다
git log --pretty=format:"%h %s" --graph
--oneline
한 줄 단위로 보여준다.
git log --oneline --decorate --graph --all
rm, mv
리눅스의 파일 삭제(remove), 이동(move) 명령어와 동일하다.
로컬에서 명령어로 파일을 삭제할 필요가 없이, git rm을 쓰면 파일이 삭제되고 staging
area에도 자동으로 등록( git add ) 된다.
'Git & GitHub' 카테고리의 다른 글
[Git] 깃(Git) 협업을 위한 명령어(2) (6) | 2022.11.07 |
---|---|
[Git] 깃(Git) 협업을 위한 명령어(1) (2) | 2022.11.06 |
[Git] 깃(Git) 기본 설정 (0) | 2022.11.04 |
[Git] 깃(Git)의 영역 (0) | 2022.11.03 |
[Git] 깃(Git)은 무엇인가? (0) | 2022.11.02 |