본문 바로가기

[Git] 깃(Git) 커밋(Commit)

Git
·
2019. 12. 10. 17:40
반응형

커밋(Commit)

커밋(Commit)은 변경사항을 기록하는 것입니다. 커밋을 하게 되면 커밋이 시간순으로 계속해서 쌓이게 됩니다. 변경사항들을 커밋하려면 먼저 커밋할 파일을 인덱스에 추가해야 합니다. 커밋은 인덱스에 추가된 파일만 커밋하게 됩니다. 커밋 내용은 의미있게 작성해야 합니다.

 

작업 트리(Work Tree) : 작업 트리는 폴더를 의미합니다. 깃은 작업 트리 안에 있는 모든 파일의 변경사항을 추적합니다.

인덱스(Index) : 인덱스는 커밋하기 전 커밋할 파일을 등록하는 공간입니다. 저장소에 커밋하기 위해서는 커밋하고자 하는 파일을 인덱스에 추가해야 합니다.

인덱스에 파일을 추가하는 것을 스테이징(Staging) 한다 라고 하고, 파일을 제거하는 것을 언스테이징(Unstaging) 한다 라고 합니다.

 

 

커밋(Commit) 시점

커밋 시점은 의미있는 변경사항이 있을 때 하는 것이 좋습니다. 커밋은 사용자가 적절히 판단해서 커밋 시점을 정하면 됩니다.

다음은 일반적으로 커밋을 하는 예입니다.

  • 기능을 추가했을 경우
  • 버그를 고쳤을 경우
  • 기능을 삭제했을 경우

 

커밋(Commit) 명령어

커밋

$ git commit -m “commit name"

커밋을 할 경우 커밋 이름(commit name)을 반드시 입력해야 합니다.

 

커밋 취소

HEAD에 있는 커밋을 취소

$ git reset HEAD^

인덱스에 있는 파일 언스테이징(Unstage), 작업 트리(Working Tree)에 파일 유지

 

$ git reset –-hard HEAD^

인덱스에 있는 파일 언스테이징, 작업 트리에 파일 삭제

 

$ git reset –-soft HEAD^

인덱스에 있는 파일 유지, 작업 트리에 파일 유지

 

HEAD 부터 n개까지 커밋을 취소

$ git reset HEAD~n

.인덱스에 있는 파일 언스테이징, 작업 트리에 파일 유지

 

$ git reset –-hard HEAD~n

인덱스에 있는 파일 언스테이징, 작업 트리에 파일 삭제

 

$ git reset –-soft HEAD~n

인덱스에 있는 파일 유지, 작업 트리에 파일 유지

 

원격 저장소에 있는 브랜치로 최신화

$ git reset –-hard <name>/<branch>

<name> : 추가된 원격 저장소 이름

<branch> : 브랜치 이름

반응형
블로그 이미지
Frontend Engineer

댓글