HyeLog

깃(Git) 개념 및 명령어 정리 - 혼자 작업편 본문

Git

깃(Git) 개념 및 명령어 정리 - 혼자 작업편

shj718 2022. 1. 14. 21:34

-깃이란 코드를 시점별로(버전별로) 저장하는것, commit이란 새로운 버전을 만드는것!

-Untracked file은 파일을 처음 만들었을때의 상태 = 깃의 관리 대상이 아닌 상태! ( git add 파일명 을 통해 Tracked 상태로 변경 가능.)

-Tracked file은 깃의 관리 대상인 상태! (아직 commit은 안된 상태)

-Tracked file은 다시 3가지 상태로 나뉘는데, unmodified(마지막으로 깃에 저장된 버전=현재버전) / modified(마지막으로 깃에 저장된 버전에서 변경사항이 생긴 경우->마지막으로 commit된 내용이 기준이 아니라, 마지막으로 stage에 저장된 내용 기준!!)->git add 파일명 으로 다시 staged 상태로 만들어준 후, commit 해야함! / staged(Untracked->Tracked 가 되어서 commit 할 준비가 된 상태)

출처: https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%88%98%EC%A0%95%ED%95%98%EA%B3%A0-%EC%A0%80%EC%9E%A5%EC%86%8C%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0

 

-git status: 깃 저장소의 파일들의 상태를 볼 수 있음

 

-git diff 명령어는 깃 저장소에 있는 파일의 상태와 stage에 있는 파일의 상태를 비교해서 다른부분을 보여주는 명령어!

 

-해당 파일을 수정했다면, 수정된 파일은 새로운 버전으로 (Untracked 상태; staged 안된 상태)로 저장됨! -> 이 변경내용을 staged된 해당 파일에 반영하고 싶으면 똑같이 git add 파일명 하면 됨!!

-commit 하는 방법: git commit -m "커밋메세지" 수행

 

-git log : 깃에 commit한 내역을 전부 보여주는 명령어! -> commit ID가 여기에 나옴! (나중에 git 명령어들에 쓰임)

 

-git reset --옵션 커밋ID: 지정한 commit 이후의 commit 들을 삭제! (3가지 옵션 존재) (옵션 미지정시 디폴트는 mixed)

  1) git reset --mixed 커밋ID: 커밋ID 보다 나중에 만들어진 모든 commit이 삭제되고, 파일의 상태가 modified로 변경됨! 그러나 파일의 상태는 마지막으로 commit한 내용으로 그대로 남아있음.

  2) git reset --soft 커밋ID: 커밋ID 보다 나중에 만들어진 모든 commit이 삭제되고, 파일의 상태가 staged로 변경됨! 그러나 파일의 상태는 마지막으로 commit한 내용으로 그대로 남아있음.

  3) git reset --hard 커밋ID: 커밋ID 보다 나중에 만들어진 모든 commit이 삭제되고, 파일의 상태가 unmodified 로 변경됨!(nothing to commit, working tree clean) 즉, 파일의 상태가 명령어의 커밋ID 상태와 같은 상태!! (=커밋ID 이후의 변경 사항이 모두 삭제됨)

--> mixed, soft는 파일의 내용은 유지하지만 hard 옵션은 파일의 내용까지 변경되므로 주의!!!

---> 그러나 reset 명령어는 commit 취소 기록( 누가 언제 커밋을 지웠는지)이 남지 않으므로 잘 사용되지 X !!

 

-clear: 터미널 청소

 

-git revert 커밋ID: 지정한 커밋ID의 commit을 삭제! git log를 했을때, commit이 아예 삭제되는것이 아니라(reset에서는 삭제되었음), 남아있고, 삭제했다는 새로운 commit을 추가로 만든다! 파일의 내용까지 변경됨(삭제한 commit의 변경사항 삭제됨) -> 이 명령어를 수행하면, 삭제했다는 commit 만드는 창으로 넘어가게 되는데, :wq 누르면 됨!!

 

* 유튜브 [슬Git로운 코딩생활] 을 보고 정리한 내용들임.