에브리 저장소

Git 저장소, 버전 만들기 본문

Git

Git 저장소, 버전 만들기

eblee 2018. 12. 7. 15:48

Git 저장소, 버전 만들기


해당 포스팅은 생활코딩 Git2-CLI-버전관리(https://opentutorials.org/module/3762) 수업을 기반으로 작성된 것입니다.




원하는 경로에서 프로젝트를 관리할 폴더를 생성하고 생성한 폴더로 이동합니다.

폴더생성 명령어 : mkdir 폴더명





git에게 해당 디렉토리를 버전관리하라고 명령하기 위해 아래와 같이 입력합니다.

git init





그럼 해당 디렉토리안에 .git이라는 폴더가 생겨있습니다.

.git 폴더 안에 프로젝트 폴더를 버전관리하기 위한 파일들이 있습니다.

때문에 임의로 수정하거나 하면 안됩니다!



이렇게 저장소 만들기는 끝!





git 버전 만들기


git의 버전관리에는 3가지 단계가 있습니다.


working tree : 파일들을 수정중인 상태.

(관리하고 있지 않은 파일, 혹은 마지막 버전에서 수정한 파일 등등이 여기에 해당합니다.)



staging area : 수정하였거나 생성한 파일을 관리중인 상태.



repository : 저장소, 즉 하나의 버전으로 묶어서 저장해놓은 상태.

(git에게 명령하면 staging area에 있는 파일들만 묶어서 하나의 버전으로 관리한다.)



버전을 만드는 실습을 통해 각각 확인해보겠습니다.


일단 파일을 생성합니다.

nano 명령어를 사용하여 hello.txt라는 텍스트파일을 만들었습니다.

내용은 cat 명령어를 사용하여 확인 가능합니다.





그리고 git에서 현재 파일을 어떻게 관리하고 있는지 보려면 git status 명령을 입력합니다.

결과를 보면 No commits yet 이라는 메세지와 함께 Untracked files 목록에 방금 생성한 hello.txt가 있습니다.

현재 이 파일은 working tree에 있다고 생각하시면 됩니다.





수정한 파일을 staging area로 올리는 명령어는 add입니다.

git add filename

을 입력하고 다시 git status를 입력하여 아까 전과 비교해봅니다.

아까와는 다르게, Changes to be commited 목록에 new file : hello.txt 라고 나옵니다.

그리고 만약 staging area에 있는 파일을 다시 working tree로 되돌리고 싶다면

git rm --cached filename

이라고 입력하면 된다고 설명되어있습니다.(친절한 git)





hello.txt를 staging area에 올라간 상태를 버전으로 만들어 봐야겠죠?

버전을 만들기 위해 git commit이라고 명령하면 git은 이 버전을 repository에 저장합니다.


그런데 커밋을 하기 전에 user email과 name이 등록되어있어야 합니다.

email과 username을 적어주면 됩니다.

안하시면 커밋 자체가 안됩니다.


git config --global user.email "email"

git config --global user.name "username"





git commit -m "Message 1"


여기서 -m옵션과 "Message"를 추가하였는데 이는 커밋 메세지를 작성하는 것입니다.

해당 버전에 대한 설명을 작성하는 것입니다.

commit을 하고 git status를 입력해보면 working tree에 아무것도 없다고 나옵니다.





git log 명령어를 입력하면 커밋한 기록을 살펴볼 수 있습니다.

아까 등록한 email, name, 커밋 메세지, 커밋한 시각 등의 정보를 보여줍니다.









여기까지 git 저장소를 만들고 버전을 생성하는 것까지 진행했습니다.


생각보다 간단하죠?

몇번만 반복해보시면 금방 익숙해지실 겁니다.

Comments