Git & GitHub

깃으로 버전 관리하기 - Git 저장소 및 버전 만들기

Player-Hyeok 2024. 2. 6.

깃에서는 문서를 수정할 때마다 간단한 메모와 함께 수정 내용을 스냅숏으로 찍어서 저장한다.

이 개념을 '버전'이라고 하는데, 깃의 백업 기능과 협업 기능은 이러한 버전 관리로부터 비롯된다.

깃 저장소 생성과 문서 수정 버전을 버전으로 저장하는 방법, 그리고 저장한 버전을 사용하여 이전 내용으로 되돌리는 방법까지 연습해 두어야 한다.

깃 버전 관리 방법
깃 버전 관리 방법

 

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 해서 수정 후 저장)
  • 동일하게 수정 시 커밋할 게 없고 클린하다고 나올 것

 

 

댓글

💲 추천