Programming

; develop a program

Git & GitHub

[Git] 깃(Git) 기본 명령어

Clloud_ 2022. 11. 5. 21:53
반응형

이번 포스팅에서는 깃(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