02. 깃으로 버전 관리하기

암영·2022년 5월 7일
0

02-1 깃저장소 만들기

깃 초기화 하기 -git init

  1. 깃 저장소를 만들 디렉터리를 만든후 cd명령을 사용해 hello-git이라는 디렉터리로 이동한다.

    $ mkdir hello-git
    $cd hello-git

  2. 디렉터리 안의 내용을 살펴보기 위해 ls -la명령을 입력한다.
    마침표(.)하나인 항목은 현재 디렉터리, 두개인 항목은 상위 디렉터리를 나타낸다. 아직 아무것도 만들지 않았기 때문에 파일은 하나도 없다.

    $ ls -al (ls -al)

  3. 디렉터리에 저장소를 만들기 위해 git init명령을 입력한다.: 깃을 사용할 수 있도록 디렉터리를 초기화 하는 것. 'Initialized empty Git repository....' 라는 메시지가 나타난다면 이제 부터는 해당 디렉터리에서 깃 사용가능하다

    $ git init

  1. ls명령을 사용해 디렉터리 안을 살펴보면 .git라는 디렉터리가 보인다.:깃을 사용하면서 버전이 저장될 저장소(repository).

+) 윈도의 탐색기에서 hello-git 디렉터리를 열었을때 .git 디렉터리가 보이지 않을 수도 있다. - 보기->숨긴항목 체크

02-2 버전 만들기

깃에서 버전이란,

문서를 수정하고 저장할때 마다 생기는 것.

  • 특징
  1. 파일 이름은 그대로 유지 하면서 파일에서 무엇을 변경했는지를 변경 시점마다 저장가능
  2. 각 버전마다 작업했던 내용 확인, 그 버전으로 되돌아 갈수도 있음.

스테이지와 커밋 이해하기

버전 만드는 단계 이해하기

  1. 작업트리(working tree)
    파일 수정, 저장등의 작업을 하는 디렉터리. 작업 디렉터리(working directory)라고도 부른다. 우리 눈에 보이는 디렉터리가 바로 작업 트리.

  2. 스테이지
    스테이지(stage)버전으로 만든 파일이 대기하는 곳. 스테이지 영역(stage area)이라고 부르기도 한다. 예를 들어 작업 트리에서 10개의 파일을 수정했는데 4개의 파일만 버전으로 만들려면 4개의 파일만 스테이지로 넘겨주면 된다.

  3. 저장소
    저장소(repository,리포지레토리) 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳.

스테이지와 저장소는 눈에 보이지 않는다. 깃을 초기화 했을떄 만들어지는 .git디렉터리 안에 숨은 파일 형태로 존재하는 영역이다.

  • 깃이 버전을 만드는 과정
  1. hello.txt파일 문서를 수정하고 저장하면 파일은 작업트리에 있다.
    hello.txt 파일을 버전으로 만들고 싶을때 스테이지에 넣는다.

  2. 파일 수정을 끝내고 스테이지에 다 넣었다면 버전을 만들기 위해 깃에게 커밋(commit)명령을 내린다. 커밋명령을 내리면 새로운 버전이 생성되면서 스테이지에서 대기하던 파일이 모두 저장소에 저장된다.

작업트리에서 빔으로 문서 수정하기

  1. 터미널 창을 열어 hello-git 디렉터리까지 이동하기. 앞에서 hello-git디렉터리에서 깃을 초기화 했기 때문에 버전관리가 가능하다. 먼저 깃 상태를 입력하기 위해 다음과 같이 입력해보기

    $ cd hello-git
    $ git status

  2. 깃의 상태를 나타내는 메시지 의미 살펴 보기
    1) on branch master:현재 master 브랜치에 있다.
    2) no commits yet: 아직 커밋한 파일이 없다.
    3) nothing to commit:현재 커밋할 파일이 없다.

  3. hello-디렉터리에 새로운 파일 만들기

    $ vim hello.txt

  4. 빔 화면이 나타나면 I또는 A를 눌려 입력 모드로 바꾸기 간단하게 숫자 1 입력후

02-5 작업 되돌리기

작업트리에서 수정한 파일 되돌리기 -git restore

+) 원래는 checkout이였지만 업데이트 되면서 restore로 바뀌었다.

  1. 빔을 열고 숫자 3을 영문 three로 수정한 후 저장

  2. 현재 파일 상태 change not staged for commit : 수정 되었지만 아직 스테이지에 올라가 있지 않다.

  3. git restore을 쓰고 한칸 띈 다음 파일 이름을 입력한다.

    $ git restore hello.txt

  4. 정상적으로 처리 되면 화면에 아무 것도 나타나지 않는다. cat 명령을 사용해 내용을 확인해 보면 three를 추가했던 수정 내용이 사라지고 3이 그대로 남아있는 것을 확인 할 수 있다.

스테이징 되돌리기 -git restore --staged 파일이름

수정된 파일을 스테이징 했을때, 스테이징을 취소하는 방법

  1. 빔을 사용해서 hello2.txt를 수정한다. 기존내용을 삭제하고 대문자 A B C D를 입력한후 저장하고 빔을 종료한다.

    $ vim hello2.txt

  2. git add 명령으로 hello2.txt 파일을 스테이지에 올린후 git status 명령으로 파일의 상태를 살펴보시오.

    $ git add hello2.txt
    $ git status

  3. git restore --staged를 이용하여 스테이지에서 hello2.txt파일을 내린다.

    $ git restore --staged hello.txt

  4. 수정된 hello2.txt가 스테이지에서 내려졌다는(unstaged) 메시지가 나타난다.

    unstaged changes after restore:

5.다시 git status를 사용해 파일의 상태를 확인한다. 파일이 아직 스테이지에 올라가지전 (not staged)로 돌아온 것을 확인할 수 이다.

profile
just do! -얼레벌레 굴러가는 공대생

0개의 댓글