Git

2. Git 프로젝트 관리 (add, commit)

문정훈 2021. 10. 2. 14:37

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 에 있는 파일을 버전으로 만드는 것임

repositorycommit 된 파일이 저장소임

'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