깃에서는 문서를 수정할 때마다 간단한 메모와 함께 수정 내용을 스냅숏으로 찍어서 저장한다.
이 개념을 '버전'이라고 하는데, 깃의 백업 기능과 협업 기능은 이러한 버전 관리로부터 비롯된다.
깃 저장소 생성과 문서 수정 버전을 버전으로 저장하는 방법, 그리고 저장한 버전을 사용하여 이전 내용으로 되돌리는 방법까지 연습해 두어야 한다.
1. 깃 저장소 만들기 (repository)
1) mkdir hello-git 폴더만들기
2) cd hello-git 폴더로 이동
3) git init 저장소 만들기
→ Initialized empty Git repository 메세지 확인, 경로 끝에 (main) 이 붙는다.
4) ls -la 디렉터리 내부 내용 확인
→ .git 디렉터리 형성되었음을 확인. 해당 폴더가 저장소 repository 로 사용됨 (숨김 폴더)
2. 버전 만들기
깃에서 버전을 관리하면 원래 파일 이름은 그대로 유지하면서 파일에서 무엇을 변경했는지를 변경 시점마다 저장할 수 있다. 또한 버전마다 작업한 내용을 확인할 수 있고 그 전 버전으로 되돌릴 수도 있다.
작업 트리 | 스테이지 | 저장소 |
문서 수정 | 수정한 파일 중 버전으로 만들고 싶은 것을 스테이지에 저장 |
스테이지에 있는 파일을 저장소로 커밋(commit) |
작업 트리에서 문서 수정하기
1) 깃 상태 확인하기 git status
- On branch main : 현재 main branch 에 있음
- No commits yet : 아직 커밋한 파일이 없음
- nothing to commit : 현재 커밋할 파일이 없음
2) 파일 만들기 vim hello.txt
- 빔 편집기에서 I 또는 A 를 눌러 입력 모드로 변경
- 숫자 1 입력
- esc 눌러 ex 모드로 바꾼 후 :wq (저장 후 닫기) 눌러서 나오기
3) 터미널에서 ls-la 입력, hello.txt 가 제대로 생성되었는지 확인
4) git status
- 신규 생성 파일에 대해서 Untracked files 가 있다고 나온다.
- Untracked files 가 아직 한번도 버전을 관리하지 않은 파일이다
수정한 파일을 스테이지에 올리기 - git add
깃에세 버전 만들 준비를 하라고 알려주는 것을 스테이징(staging), 스테이지에 올린다 라고 표현한다.
1) git add hello.txt
* warning eol 은 end of line 이라는 뜻으로 리눅스와 윈도우의 줄 바뀜 문자가 달라서 생기는 오류인데 따로 조치할 필요 없음.
2) git status 확인 시 untracked files: 가 changes to be committed 로 변경되었음을 확인. hello.txt 앞에는 new file: 표시가 생성되어야 함.
스테이징한 파일 커밋하기 - git commit
커밋한다 = 버전을 만든다.
커밋에서 -m 옵션은 메세지(message)의 줄임말로 변경 사항을 확인할 수 있도록 메세지를 함께 기록한다.
1) git commit -m "message1"
2) 결과창에서 파일 1개 변경(changed), 파일에 1개 내용 추가(insertion)을 확인.
3) git status : nothing to commit, working tree clean 으로 제대로 되었음을 확인.
4) git log : 버전 생성이 제대로 된 지 확인.
스테이징과 커밋 한꺼번에 처리하기 - git commit -am
수정한 내용을 스테이지에 올리는 동시에 커밋까지 동시에 처리
commit -am 에서 -a : all, -m message 임.
단, 이 방법은 한 번이라도 커밋한 적이 있는 파일을 다시 커밋할 때만 사용할 수 있음.
1) vim hello.txt
2) I or A 눌러서 입력 모드로 변경, 숫자 2 추가
3) git commit -am "message2"
4) git log 확인
커밋 내용 확인하기
앞에 만든 버전을 확인하고 버전마다 어떤 차이가 있는지 파악하면서 버전 관리를 해 보자
1) 커밋 기록 자세히 살펴보기 - git log
- 첫째줄 커밋 해시 : commit ㅇㅇㅇㅇㅇㅇ (HEAD -> main : 이 버전이 가장 최신이라는 표시)
- 둘째줄 작성자 : Author
- 셋째줄 버전 만든 날짜 : Data
2) 변경 사항 확인하기 - git diff
작업 트리에 있는 파일과 스테이지에 있는 파일을 비교하거나 스테이지에 있는 파일과 저장소에 있는 최신 커밋을 비교해서 수정한 파일을 커밋하기 전에 최종 검토할 수 있음
- vim hello.txt -> 파일에서 2를 two 로 바꾸고 저장
- git status : 일이 수정되었고 아직 스테이징 상태가 아니라고 나올 것.
- git diff : -2, +two 라는 로그를 확인할 수 있음. 2를 지우고 two 를 추가했다는 의미
- 수정한 내용으로 다시 버전을 만들려면 스테이지에 올린 후 커밋하고, 수정한 내용을 버리려면 git restore 명령으로 취소하면 됨.
- 실습을 위해 다시 hello.txt 를 1,2 만 있는 파일로 되돌린 후 저장(vim hello.txt 해서 수정 후 저장)
- 동일하게 수정 시 커밋할 게 없고 클린하다고 나올 것
'Git & GitHub' 카테고리의 다른 글
깃 명령어 총정리 (0) | 2024.02.09 |
---|---|
깃 브랜치 - 브랜치 병합하기 + 삭제하기 (0) | 2024.02.08 |
깃과 브랜치 - 브랜치 생성 및 활용 (1) | 2024.02.07 |
깃 버전 관리하기 - 버전 생성과 되돌리기 (2) | 2024.02.07 |
깃 시작하기 - Git 설치 및 초기 셋팅, 기본 명령어 (0) | 2024.02.03 |
댓글