뜸부기와 공작새

[소프트웨어 개발] git 입문자 실습가이드 - 1 본문

소프트웨어 공학

[소프트웨어 개발] git 입문자 실습가이드 - 1

성씨 2020. 3. 2. 20:24

형상관리 도구로 git을 쓰고있는데 생각보다 진입장벽이 있다...

궁극적으로는 브랜치의 개념과 다양한 명령어를 다루어야 하지만

우선은 기초적인 명령어 위주로 정리를 해보아야겠다

1.VS Code에 git 등록

생성한 폴더와 파일을 git에 등록한다

명령어: git init
수행한 폴더는 이제 git으로 형상관리를 진행할 수 있다

git init 수행 콘솔 화면

2. git에 내 이름과 이메일 등록하기

 

git config --global user.name"이름"

git config --global user.email"이메일 주소"

 

이와 같은 작업이 수행하면 숨김폴더에 아래와 같은 폴더가 숨겨져 있는 것 확인

숨김 폴더에 .git 파일이 생겼다

3. 새로운 시점 만들기 위한 준비

git status 명령어를 통해 git에서 관리하는 파일과 git에서 관리하지 않는 파일을 확인할 수 있다

git status 명령어를 실행하여 해당 내용을 확인할 수 있는데,

Untracked files 항목 아래 파일들이 git에서 관리하지 않는 파일들을 의미한다

git status 명령어를 수행한 결과

 

이제그럼 해당 파일들을 git에서 관리하는 파일로 등록해보자

명령어: git add -A

해당 명령어를 이용하여 모든 파일들을 git에서 관리하는 파일로 설정이 가능하다

(git add [파일명] 명령어를 이용하여 선택한 파일만 git add 할 수 있도록 설정이 가능)

 

 

git add 명령어 수행 후 결과

git add를 수행 후 git status로 확인하면

추가 설정한 파일들이 위의 이미지와 같이 to be committed 대상으로 관리되고 있는 것을 확인할 수 있다

 

4. 생성한 시점 생성하기 (커밋하기)

여태까지 시점을 만들어주기 위한 파일들을 선정한 것이고

 

이제 진짜로 시점을 만들어주자 (commit을 수행해보자)

시점을 만들어주는 명령어는 git commit을 수행하면 된다

아래 이미지와 같이 git commit -m "커밋메시지" 를 수행하면 커밋을 수행할 때 커밋메시지와 함께 커밋을 진행한다

이렇게 해야 나중에 내가 이떄 왜 시점을 만들었는지 알 수 있겠지...

 

생성한 파일들을 커밋해주자

 

이후에 작업을 하다보니 또 다른 파일을 만들게 되었다

이렇게 새로 생성한 파일도 git 관리 대상으로 선정해주자

 

새로운 dog 파일이 생성되었고 이를 git에서 관리하는 대상으로 두기 위해서는 아까 수행했던 명령어와 동일하게 git status를 수행한다 

 

dog 파일이 생성되었다

 

그리고 git add를 수행하여 새로운 커밋(시점)을 만들자

 

새로 생성한 파일을 커밋하여 git에 등록하였다

 

4. 파일 삭제 및 내용 변경이 일어났을 경우

변경내용

cat 파일을 삭제하였고, mouse 파일 내부에 내용이 변경되었으며, penguid 파일이 생성되었다

 

이를 커밋을 수행하는 명령어는 아래 이미지와 같다

 

저장소 내용이 변경되었다

 

이 역시 동일하게 git add를 이용하여 git에서 알려주자

 

5 여태까지 커밋만 내용 로그로 확인해보기

git log 명령어를 이용하여 해당 저장소에서 커밋했던 히스토리를 확인할 수 있다

 

git log 명령어 수행 후 결과

 

위의 이미지에서 commit 52606b##### 내용은 해당 저장소의 커밋 리비전으로

향후에 내가 되돌아가고싶은 시점으로 이동할 때 사용할 수 있다

 

 

6. 저장소를 이전상태로 되돌리기

git reset --hard [돌아가고 싶은 커밋 시점]으로 이동하여 내 저장소 파일 구성과 내용을 과거시점으로 되돌릴 수 있따

그러나 신중해야 하는 것이 한번 reset --hard 수행하여 날라간 파일들은 복구가 불가능하니

신중하게 수행하야 한다

git reset --hard 명령어를 수행하여 과거시점으로 이동하였다

7. git reset --hard 너무 무서워 (revert)

git resert --hard를 사용하면 삭제한 파일을 복구하기 어려우니

git revert [되돌리고 싶은 커밋 리비전] 명령어를 이용하여 저장소 내용을 이전으로 되돌리는 작업의 커밋을 하나 만들어버리자

 

내가 바로 이전에 만들었던 mouse, pg 파일 추가 기록을 되돌리고 싶다

 

git revert [되돌리고 싶은 커밋 리비전] 명령어를 수행하면 해당 커밋 로그를 남긴 채 해당 커밋을 취소시킨다

이와 같은 커밋 메시지 창이 뜨는데 작성할 내용이 있으면 작성하고 저장후 닫기를 해주자

 

 

특정 커밋이 최소되고 Revert "~~" 내용의 커밋 로그가 생성된 것을 확인할 수 있다

 

Revert명령어를 사용하면 내가 특정 리비전의 커밋을 취소실행하고 해당 작업에 대한 커밋로그가 생기게 되므로

폴더 내용을 보면 reset 했을때와 동일하게 파일들이 삭제, 수정되어있지만

reset --hard와는 다르게 해당 작업에 대한 커밋로그도 생성된 것을 확인할 수 있다

 

나중에 Revert 수행한 커밋을 취소시키면 다시 추가했던 파일들을 생성시키는 것이 가능하다는 뜻
(취소한 것을 취소하는 것 같은 느낌....)

 

 

2편에서 계속

 

 

'소프트웨어 공학' 카테고리의 다른 글

가상화란? (하이퍼바이저와 컨테이너)  (0) 2020.03.11