깃을 이용한 파일들의 버전관리는 총 3단계를 통해서 이루어진다. 

 

작업트리 - 스테이지 - 저장소 

- 작업트리 : 파일들을 수정, 저장 등의 작업을 하는 디렉토리. 앞선 글에서 git init으로 저장소로 지정한 디렉토리를 의미한다.

- 스테이지 : 버전으로 만들 파일이 대기하는 곳

- 저장소 : 스테이지에 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳


앞선 글에서 git-repos라는 디렉토리를 git init을 통해서 깃 저장소로 지정했다.

$ cd git-repos 


를 통해서 그곳으로 들어간다. 

현재 깃의 상태를 나타내기 위해

$ git status 


를 입력한다. 

코드를 입력해보면 위의 이미지와 같이 'No commits yet'을 출력하는 것을 확인할 수 있다.

이제 이곳에 vim을 이용해서 텍스트 파일을 하나 만들것이다.  

$ vim hello_world.txt

하고 그 안에 내용을 'hello world!'를 적은 다음 저장한다. 

$ git status 


를 입력해서 확인을 하면, 작성한 hello_world.txt 파일이 Untracked files로 되어있는 것을 확인할 수 있다. 

 

 

스테이징


위와 동일한 결과가 출력이 된다면 이것은 hello_world.txt파일이 작업트리에 존재하고 있다는 의미이다. 
이것을 버전관리를 하기 위해서 스테이지에 올리기 위해서는 git add 코드를 이용해야 한다. 

$ git add hello_world.txt

를 통해서 hello_world.txt 파일을 스테이지로 옮긴다. 

여기에서 출력 결과에 Warning이 나오는 것은 크게 신경을 쓰지 않아도 될 사항이다. 

신경이 쓰인다면,

더보기

현재 사용하고 있는 git bash 라는 프로그램은 리눅스를 기반으로 하고 있다. 그리고 지금 필자 혹은 대다수의 여러분이  사용하고 있는 컴퓨터는 Windows를 운영체제로 하고 있을 것이다. Windows는 Enter키를 입력하게 되면 (이것을 개행문자라고 한다.) CRLF가 입력이 되는데, Mac이나 Linux에서는 Enter를 입력한 경우 CR만 입력이 된다.  이것은 깃에서 자동으로 CRLF의 개행문자를 CR로 변환한다는 의미이다. 별도의 조치를 취할 사항은 없다. 

 

 

 

커밋(Commit)

 

git이나 github를 조금이라도 들어본 사람이라면,
commit(커밋)이라는 표현을 자주 들어보았을 것이다.  커밋이라는 것은 깃에서 버전을 만드는 것을 의미한다. 커밋을 할 때에는 어떤 부분을 변경했는지에 대한 설명을 함께 적어야 한다. 

커밋을 하는 코드는 git commit -m "메세지 내용"이다. 

$ git commit -m "message1" 


을 입력해서 커밋을 실행해보자

그 후에는 다시 git status를 이용해서 현재 상태를 출력하자. 

기존에 만들었던 hello_world.txt 파일은 이미 버전이 만들어져 더이상 작업트리나 스테이지에 없는 것을 볼 수 있다. 

저장소에 저장되어있는 버전을 확인하는 경우 

$ git log 


를 통해서 방금 우리가 커밋했던 파일과 어떤 내용을 썼는지를 출력할 수 있다. 

 

 

스테이징과 커밋을 한번에

 

한번도 커밋하지 않았던 파일에서는 적용이 되지 않지만, 한번이라도 커밋했던 파일이라면 스테이징과 커밋을 한번에 수행할 수도 있다. 

git commit -am "메세지 내용"

을 입력하면 수정한 파일이 한번에 커밋이 되는 것을 확인할 수 있다. 

예시로 hello_world.txt를 수정해서 한번에 넣는 코드는 

$ vim hello_world.txt

에서 텍스트 파일을 수정하고, 

$ git commit -am "message 2" 
$ git log 


를 통해서 확인을 해보면 한번에 commit이 된 것을 확인할 수 있다. 

텍스트 파일이 제대로 수정되었는지를 확인하기 위해서는 

$ cat hello_world.txt

를 통해서 현재 파일에 어떻게 기록되어 있는지 확인할 수 있다. 

728x90
반응형

'버전 관리 > git & github' 카테고리의 다른 글

git과 브랜치 2  (0) 2021.01.13
git과 브랜치(Branch) 1  (0) 2021.01.11
git을 이용하여 수정한 파일 되돌리기  (0) 2021.01.09
git에서 커밋한 파일 확인 및 수정하기  (0) 2021.01.08
Git & Github  (0) 2021.01.06
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기