728x90
버전관리 단계
단계 | 설명 | 관련 코드 |
working tree | 파일을 수정하는 단계 | git init . # 현재 디렉토리를 깃에게 버전관리 시킴 디렉토리에는 .git 숨김 파일이 생성되고 이 파일에 버전 정보가 들어감 |
staging area | working tree에 여러 파일들 중 버전으로 만들고 싶은 파일들을 staging area에 올려둔다 |
git add 파일명 # working tree에 있는 파일들 중 git add 코드에 명명한 파일을 staging area로 올림 git add . # 현재 디렉토리에 있는 모든 파일을 staging area로 올림 git add 폴더 # 폴더에 있는 모든 파일을 staging area에 올림 |
repository | 버전으로 최종적으로 저장되는 단계 | git commit # staging area에 올라와 있는 파일들로 버전을 만들기 위해 에디터를 실행 git commit -m "version name" # 에디터 없이 버전을 만듬 git commit -am "version name" # git add와 git commit을 한번에 실행 할 수 있음 # Untraked 파일이 있다면 add가 실행되지 않으니, 파일에는 git commit -am 실행이전에 최소 한번의 git add가 실행되어야함 |
버전관리에 사용하는 코드 정리
코드 | 설명 | 예시/부가설명 |
git status | 상태를 출력 | No commits yet # 현재 디렉토리에 아직 관리할 버전이 없다는 의미 Untracked files # 관리할 파일이 없다는 의미로 어떤 파일을 관리할 것인지 깃에게 알려주는 단계가 한번은 필요함 # 'git add 파일명' 실행 후 다시 git status를 입력하면 changed to be committed로 상태가 바뀜 nothing to commit, working tree clean # 버전으로 만들게 없고, 워킹트리가 깨끗하다 (=모든 파일이 버전으로 관리되고 있다) changes not staged for commit # 파일들이 staging area에 없고 수정사항이 working tree에 있다. changes to be committed # 파일들이 staging area에 올라가 있다. |
git log | 버전의 기록을 보고 싶을 때 사용 | 출력 결과를 보면 commit 뒤에 영문과 숫자의 무작위 조합 코드를 볼 수 있는데 (ex. commit c500e2538eedbc9f9e872fb6cf310ec6599b5c98) 각 버전의 고유 번호 정도라고 생각하면 됨 이 정보는 checkout과 함께 사용됨 |
git log --stat | 몇개의 파일과 코드가 수정되었는지 출력 | |
git diff | 구 버전과 새 버전을 비교한 결과를 출력 | 새 버전의 내용은 +로 출력 삭제된 내용을 -로 출력 |
git reset --hard | 마지막 버전 이후 수정된 내용들이 마음에 들지 않는다면 수정된 내용들이 없는 마지막 버전으로 상태를 돌려줌 | ex) git reset --hard 33c25a48b13d4228cd8117af7866344a10897fdd hard 뒤에 있는 버전 식별 정보 이후 버전으로 리셋하겠다. |
git checkout | 버전을 식별할 수 있는 정보를 뒤에 입력하면 버전을 만든 시점으로 이동 | git log로 버전 식별 정보를 알 수 있음 ex) git checkout c500e2538eedbc9f9e872fb6cf310ec6599b5c98 git checkout master 가장 최신 상태 버전으로 이동 |
728x90
'# Git' 카테고리의 다른 글
[Git] Git기초_POSIX CLI (0) | 2021.03.21 |
---|