본문 바로가기

IT/설계관련

【git】관리 및 커밋(commit)

참고도서 :  Do it!  지옥에서 온 문서 관리자 깃&깃허브 입문
git Windows 설치설명 : https://youtu.be/JKT9laOAPIs

 

git 환경설정하기 

  • 깃에 사용자 정보 설정
$ git config --global user.name "유저네임"
$ git config --global user.email "메일주소"

 

깃 저장소 만들기

깃 초기화

  • 깃 저장소로 사용할 디렉터리를 생성 후 생성된 디렉터리로 이동
$ mkdir testgit
$ cd testgit
  • 디렉터리를 초기화
$ git init

ls 명령으로 '.git'이라는 디렉터리가 생성된것을 확인(깃을 사용하면서 버전이 저장될 저장소)

$ ls -la

버전 만들기

작업트리 -  파일수정 , 저장 등의 작업을 하는 작업 디렉터리

스테이지 - 버전으로 만들 파일이 대기 하는 곳

저장소 - 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳, 깃에서 커밋(commit)명령을 지시하면 스테이지에서 대기하던 파일이 저장소에 저장됨.

 

작업 트리에서 빔으로 문서 수정하기

1. 먼저 깃 상태 확인

$ git status

깃 상태 메시지
On branch master : 현재 master 브랜치에 있음을 알려준다.
No commits yet : 아직 커밋한 파일이 없음
nothing to commit : 현재 커밋할 파일이 없습니다.

 

2. 깃 관리 디렉터리에 txt파일을 만들어 깃 상태 확인

$ git status

Untracked files - 한번도 버전 관리하지 않은 파일이 존재 함을 알 수 있다.

 

수정한 파일을 스테이징하기 

 

3. 깃에서 스테이징할 때 사용

$ git add hello.txt

 

4. 깃 상태 확인

$ git status

Untracked files 문구가 changes to be committed: 로 바뀐것을 알수있다.

현재 상태는 스테이지에 저장된 상태이다.

 

스테이지에 올라온 파일 커밋하기

 

5. 깃에서 파일을 커밋하는 명령

$ git commit -m "남길 메시지"

-m 옵션을 붙이면 커밋과 함께 저장할 메시지를 적을수 있다.

 

6. 커밋후 깃 상태 확인

$ git status

버전을 만들 파일은 없으며, 작업 트리도 수정사항 없이 깨끗함을 알수있다.

 

7. 버전이 만들어졌는지 확인

$ git log

스테이지에 저장되어 있던 hello.txt 파일의 버전의 저장소에 만들어진것을 확인 할수있다.

 


스테이징과 커밋 한꺼번에 처리

8. 마지막 상태에서 "hello.txt"파일의 내용을 수정하여 아래의 명령을 실행

$ git commit -am "message2"

 

9. 위의 커밋의 버전에 어떤 정보가 저장되었는지 확인

$ git log

커밋 내용 확인하기

변경 사항 확인하기

10. 9번의 상태에서 "hello.txt"파일의 내용을 수정하여 아래의 명령을 실행

git status

파일이 수정되어서 커밋을 해야하는 파일이 생긴것을 확인 할 수 있다.

 

11. 10번에서 수정한 "hello.txt" 파일이 어떻게 다른지를 확인

$ git diff

위의 빨간색의 글자 '-2'는 2가 삭제됨을 의미하며, 초록색의 '+two'는 two라는 내용이 추가됨을 의미

 

12. "hello.txt"파일을 원래의 상태로 돌려서 다른점 확인

$ git diff

다른 점이 없기에 아무것도 출력되지 않음을 확인 할수 있다.

 

※ 방금 커밋한 메시지 수정

문서의 수정 내용을 기록해둔 커밋 메시지를 잘못 입력하였을 경우 수정하는 명령어

$ git commit --amend

"I" 를 눌려 입력이 가능한 모드로 변경되며 수정이 가능해진다.

":wq"를 입력하여 수정을 완료한다.

.gitignore 파일로 버전관리에서 제외시키는 방법
.gitignore 파일을 만들어  그안에 버전을 관리하지 않을 파일 또는 디렉터리 이름이나 파일확장자를 입력하면 된다. 
.gitignore(파일명)
mynote.txt
temp/
.swp
.class

 

반응형