버전 관리 시스템 중 하나이다.
이러한 버전 관리를 도와주는 도구가 git 이다.
세 개의 공간을 이용해 파일들이 버전이 되는 두 개의 단계로 나눌 수 있다.
1단계: Working directory -> Staging Area
2단계: Staging Area -> Repository
명령어를 통해 버전관리의 흐름을 알아보자
모든 명령어는 git <명령어> 의 형태를 띠고 있다.
git add <파일명>: 파일을 Working directory -> Staging Area 로 옮긴다.
추가로, git add . 를 하면 Working directory 의 모든 파일들을 Staging Area 로 옮겨준다.
git commit: Staging Area -> Repository 로 옮긴다. 하나의 버전으로 만들어 주는 것
git_tutorial 폴더를 만들고 test.txt 파일을 생성한후, bash 를 통해 git_tutorial 폴더로 이동한다. 본인은 REPLIT 사이트를 이용하였다.
git init(ialize): 지금 내가 있는 폴더에서 버전 관리를 시작할거라고 알려주는 명령어
명령어를 입력하면 해당 폴더에서 버전관리를 시작할 수 있다.
이후 ls -al 명령어를 통해 (숨김 파일/폴더까지 포함한)모든 파일/폴더 목록을 볼 수 있다.
폴더 이름앞에 .
이 붙어있으면 숨김폴더이다.(일단은 무시하자)
git status: 버전 관리가 되고 있는 이 폴더의 현 상황(상태)을 알려주는 명령어
No commits yet: 아직까지 만들어진 버전이 없다
Untracked files: tracked 되지않은(=add 되지 않은, 새로생긴) 파일들.
=> Working directory 안에 test.txt 라는 파일이 새로 생겼는데 아직까지 한번도 관리되지 않았다라고 알려준다.
test.txt를 Staging Area로 옮겨보자. (git add test.txt)
Changes to be commited: commit 이 될 변화사항들을 감지한다.
이제 test.txt 를 track 하고 있다.(= Staging Area 로 test.txt 가 올라왔다.)
git rm --cached <파일명>: Staging Area 에 올린 파일들을 다시 내릴 때 사용한다.
이후 test2.txt 파일을 추가로 생성한 후, git add . 를 통해 모든 파일을 Staging Area 로 옮긴다.
git commit -m "메시지" : commit 을 할때 어떤 변경사항이 생겨서 commit 을 하는지,
어떤 유의미한 변화를 이 버전에 담았는지를 간략하게 설명한다.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
...
이 부분은 처음 git 으로 commit 을 할 때 뜨는 메시지이다. 메시지 내용 그대로 사용자의 이메일과 이름을 입력해주면 다음부터는 나오지 않는다.
test2.txt 파일의 내용을 변경해보았다.
git status 를 통해 working directory 에 변경사항이 생겼다는 것을 알 수 있다.
변경된 test2.txt 파일을 새로운 버전으로 만들기 위해 git add 를 이용하여 working directory 에서 staging area 로 옮겨주었다.
git status를 통해 staging area 로 test2.txt 파일이 옮겨진 것을 볼 수 있다.
이후, commit 을 이용하여 새로운 버전으로 만들어주었다.
git log 를 이용하여 지금까지의 commit 내역을 살펴볼 수 있다.