HyeLog
깃(Git) 개념 및 명령어 정리 - 혼자 작업편 본문
-깃이란 코드를 시점별로(버전별로) 저장하는것, commit이란 새로운 버전을 만드는것!
-Untracked file은 파일을 처음 만들었을때의 상태 = 깃의 관리 대상이 아닌 상태! ( git add 파일명 을 통해 Tracked 상태로 변경 가능.)
-Tracked file은 깃의 관리 대상인 상태! (아직 commit은 안된 상태)
-Tracked file은 다시 3가지 상태로 나뉘는데, unmodified(마지막으로 깃에 저장된 버전=현재버전) / modified(마지막으로 깃에 저장된 버전에서 변경사항이 생긴 경우->마지막으로 commit된 내용이 기준이 아니라, 마지막으로 stage에 저장된 내용 기준!!)->git add 파일명 으로 다시 staged 상태로 만들어준 후, commit 해야함! / staged(Untracked->Tracked 가 되어서 commit 할 준비가 된 상태)
-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로운 코딩생활] 을 보고 정리한 내용들임.
'Git' 카테고리의 다른 글
깃(Git) - 협업 (fork, pull request, issue) (0) | 2022.01.19 |
---|---|
깃(Git) 협업 - 원격저장소에 변경사항이 생겼을때 내 로컬저장소를 업데이트 하는 방법 (fetch, pull) (0) | 2022.01.19 |
깃(Git) - 로컬 저장소를 원격 저장소(깃허브)로 연동시키는 방법 (1) | 2022.01.17 |
깃(Git) 과 깃허브(Github)의 차이점, 원격-->로컬 저장소, Clone (0) | 2022.01.17 |
Git 시작 - 초기 설정 (0) | 2022.01.14 |