1. git 저장소 생성
git init
git bash에서 git으로 관리하려는 디렉토리로 이동 한 후 해당 git init 명령을 주면 .git 폴더가 생성되고 버전관리가 된다.
프로젝트 파일의 local 저장소가 생긴 것임.
2. git add
git add <add할 파일 경로>
git add *
작업 디렉토리의 상의 변경 내용을 staging area에 추가하기 위한 Git 명령어이다.
프로젝트의 파일은 git에게 버전관리를 허용한다는 신호를 주기 전까지는 버전 관리를 하지 않는다.
신호를 주는 방법이 git add 명령어이다.
git add ./file1.txt 명령어를 주어 해당 파일의 버전관리 승인을 준다.
git add 된 파일은 commit 대기 상태가 된다.
프로젝트의 파일을 최초로 만들거나, 기존의 파일의 내용을 수정하는 모든 경우 git add명령어를 사용한다.
3. git 버전 만들기
git commit
git commit -m <버전 제목>
git commit -am <버전 제목>
git commit -amend <버전 제목>
▶ 버전 개념
모든 ‘변화’를 버전이라하지 않음 버전은 의미있는 변화를 말함 버전은 작업이 완결된 다른 상태가 버전이다.
프로젝트를 새로운 버전으로 만들어서 깃에 저장하려고함 버전이 저장되면 이전의 버전을 볼 수 있고 파일의 history도 볼 수 있음.
저장소의 상태가 어떤지 보는 방법은 git status 임
▶ 버전의 이름과 이메일 작성
버전을 만들 때 누가 만든것임을 작성하기 위해 이름과 이메일을 버전에 등록할 수 있음 아래는 그 명령어이다.
git config --global user.name <만들 사람 이름>
git config --global user.email <이메일>
▶ commit 하기
git commit 명령어를 사용하기 위해서는 모든 파일 git add 되어 staging area에 올라가있어야한다.
git commit 명령을 주면 vi 창이 나오게 되고 버전에 대한 내용을 작성할 수 있다.
git commit -m <버전 제목> 명령어는 vi창으로 넘어가 버전의 내용을 작성하는 번거로움 대신 명령에서 바로 버전의 내용을 작성하여 commit 할 수 있다.
git commit -am <버전 내용> 명령어는 위 옵션에서 옵션이 추가된 것인데 git add되지 않은 파일을 자동으로 add시켜주며 commit을 하는 것이다. 이때 최초로 만들어진 파일이 있다면 git add를 직접 먼저 해줘야한다.
git commit -ammd <버전 내용> amend의 옵션의 경우 스테이징에 추가된 내용을 반영해주고, 이전의 commit된 커밋 메시지도 변경해준다. 따라서 변경할 내용이 없을 때도 커밋메시지를 변경하고 싶을 때 사용가능하다.
3. commit history 조회
git log
git log -p
git log --branches --decorate --graph
git diff
▶ git log
git log 명령을 실행하면 저장소의 커밋 히스토리를 시간순으로 보여준다. 즉, 가장 최근의 커밋이 가장 먼저 나온다.
▶ git log -p
각 버전에서 소스상의 차이점을 확인할 수 있음
▶ git log --bracnh --decorate --graph
버전들을 branch의 흐름에 따라 눈에 보이는 선으로 표시해줘 branch 별로 버전들을 쉽게 확인할 수 있다.
3. commit 취소
git reset --hard <버전 고유 번호>
▶ git reset <버전 고유 번호>
git reset --hard를 사용하면 현재 작업 위치인 HEAD의 포인터를 특정 위치로 변경해버릴 수 있습니다
※ stage area, repository
add된 파일은 commit 대기 상태가 되는데 commit 대기 상태가 가는 곳은 “stage area”라고 함
commit 명령은 이 state area 에 있는 파일을 버전으로 만드는 것임.
repository는 commit 된 파일이 저장소임
'Git' 카테고리의 다른 글
4. Github 프로젝트 관리 / remote, push, pull, clone (0) | 2021.10.02 |
---|---|
3. Git 프로젝트관리 (branch) (0) | 2021.10.02 |
1. Git & Github (0) | 2021.10.02 |