git = Version Control Systems
소스코드 백업
만든 코드 이전상태로 되돌림
다른 사람과 협업 시스템
$ pwd
-- /Users/dongdong/Doucuments
$ mkdir git_fth
$ cd git_fth
$ pwd
-- /Users/dongdong/Documents/git_fth
$ ls -al
-- drwxr-xr~뭐시기~
-- drwx---~뭐시기
$ git init
-- /Users/dongdong/Documents/git_fth/.git/ 안의 기존 깃 저장소를 다시 초기화 했습니다.
$ ls -al
-- drwxr-xr~뭐시기~
-- drwx---~뭐시기
-- drwxr-xr-x~뭐시기.git
기존 두 개에 비슷하지만 끝에 .git이 붙은 새로운 디렉터리 하나 생성
매우 중요한 파일이다. git_fth디렉터리에서 하는 행동들이 저 마지막 파일에 저장되므로 "뭐야 쓰레기네?" 하고 버리는 일 없어야 한다.
$ git status
-- on branch master
-- Initial commit
-- Untracked files:
-- f1.txt
-- nothing added to commit but untracket files present (use "git add" to track)
작업 디렉터리에 파일을 생성해도 'git add'하기 전까지 git은 해당 파일을 무시하기 때문에 'git status'을 하면 'Untracked files'로 분류한다.
$ git add f1.txt
$ git status
-- On branch master
-- Initial commit
-- Changes to be committed:
-- (use "git rm --cached <file>..." to unstage)
-- new file: f1.txt
"git add 추가할 파일" 명렁어 사용시 git이 해당 파일을 인식하기 때문에 "git status"를 하면 "new file: f1.txt" 처럼 파일이 추가되었는지 확인할 수 있다
프로젝트를 만들때 만드는 도중에 임시로 파일을 만드는 경우가 잦다.
이럴때마다 git에 포함되면 핵심 파일과 쓸모없는 임시 파일이 섞여서 버전 관리에 어려움이 생긴다.
관리해야하는 파일만 설정하기 위해 "add" 명령어를 통해 git에게 명확하게 알려준다.
$ git commit
-- /git_fth/.git/COMMIT_EDITMSG
작업폴더 git_fth에서 "init" 명렁어 사용시 생성된 "/.git/"에 "COMMIT_EDITMSG"라는 커밋 메시지를 적는 파일이 열린다.
현재 버전의 메세지를 적는 파일로 "어떤 변화가 있는지?", "새로운 파일이 왜 생겼는지?" 를 적는 파일이다.
vim으로 열린 커밋 메세지 파일을 작성하고 저장하고 끝낼 시
-- 1file changed, 3 insertions(+) create mode 100655 f1.txt
라고 버전 생성되었다는 메세지가 터미널에 뜸
$ git log
-- 현재 버전에 대한 설명 창이 나옴 (커밋 메세지 같이 나옴
ex)
-- Author: dongdong@gmail.com
-- Date: wed jun 99 99:99:99 99909
-- (커밋 메세지)
$ nvim f1.txt
f1.txt 파일을 열어서 안의 내용을 수정함 "source: 1" -> "source: 2"
$ git status
-- modified: f1.txt
f1.txt가 수정되었다고 뜸
$ git add f1.txt
git의 add는 사용법이 2가지 이다.
$ git status
-- modified: f1.txt
"add"명렁어 전 후로 똑같은 "modified" 이지만 실제 화면에선 "add" 전에 빨강색이고 "add"명령어로 추가시 초록색이 됨
$ git commit
버전이 새로 생성된다.
커밋 메세지 작성 화면이 뜬다.
$ git log
버전 설명이 나열 된다.
최초 버전과 두 번째 작성한 버전이 커밋 메세지와 함께 같이 화면에 나온다.
처음 사용할 경우 내가 만들고 사용했다는 것을 알리기 위해 아래 코드를 작성해야 한다.
$ git config --global user.namer
$ git config --global user.namer dongdong(별명)
$ git config --global user.namer dongdong@gmail.com(e-mail)
후에 남이 나의 버전을 볼떄 누가 작성하였는지 확인할 수 있다.