(2021.07.16)
✔ git 버전
파일을 수정하고, 어떤 내용을 수정했는지를 기록할 수 있다.
파일 이름은 그대로 유지하면서, 각 버전마다 작업했던 내용을 확인하고, 그 버전으로 돌아갈 수도 있다.
✔ 스테이지와 커밋
깃에서 버전을 만드는 단계는 위의 그림을 통해 이해할 수 있다.
-작업 트리: 파일 수정, 저장 등의 작업을 하는 디렉터리. 눈에 보이는 디렉터리
-스테이지: 버전으로 만들 파일이 대기하는 곳
-저장소: 스테이지에 대기하고 있는 파일들을 버전으로 만들어서 저장하는 곳
파일을 수정하고 저장하면 그 파일은 작업트리에 존재함.
① 수정한 파일을 버전으로 만들고 싶으면 우선 스테이징을 함. -> 파일이 스테이지에 들어옴.
② 스테이징한 파일을 버전으로 만들고 싶으면 커밋을 함. -> 파일이 저장소에 저장됨.
여러번 스테이징하여 스테이지에 넣어두고, 커밋하면 그 파일들이 모두 저장소에 저장됨.
$ git add 파일이름 : 파일 스테이징. 파일을 스테이지에 올린다.
$ git commit -m "원하는 메시지" : 파일 커밋. 파일을 저장소에 저장한다.
$ git status : 깃 상태 확인. 커밋할 파일/작업트리 등의 상황을 알려준다.
$ git log : 커밋을 만든 사람/시간/커밋 메시지/커밋 해시가 함께 표시된다.
$ git diff : 파일 내용 수정시 변경사항 표시
$ git checkout -- 파일이름 : 작업트리에서 수정한 파일을 되돌린다. (다시 복구 불가)
$ git reset HEAD 파일이름 : 수정한 파일을 스테이징했을 때, 스테이징을 취소한다.
$ git reset HEAD : 스테이지에 있는 모든 파일을 되돌린다.
$ git reset HEAD^ : 수정한 파일을 스테이징하고 커밋했을 때, 가장 마지막 커밋을 취소한다.
$ git reset 커밋해시 : 특정 커밋으로 되돌릴 때 사용한다. (해당 커밋 이후는 사라짐)
$ git revert 커밋해시 : 커밋을 되돌리지만, 그 내용이 남는다. (reset은 수정내용 아예 삭제)
+) 스테이지와 커밋을 한꺼번에 처리할 경우 (한번 커밋한 파일일 때에만 가능)
$ git commit -am "원하는 메시지" : 파일 스테이징과 커밋을 동시에 처리함.
+) 깃에서 버전관리를 한번도 하지 않은 파일은 수정내역을 추적하지 않기 때문에 untracked 파일로 표시됨.
반면에 커밋했던 파일은 수정내역을 추적하기 때문에 tracked 파일이라고 표시됨.
'Coding > git & linux' 카테고리의 다른 글
[linux] 자주쓰는 tmux 명령어 정리 (0) | 2023.01.19 |
---|---|
[git] 깃허브 백업하기 (0) | 2021.07.19 |
[git] git branch (0) | 2021.07.17 |
[git] git 초기화 (0) | 2021.07.16 |
리눅스 명령어 (0) | 2021.07.13 |