커밋 관련 주제

Atomic Commits (커밋을 원자적으로 유지하기)

가능하다면 커밋은 단일 기능읻 단일 변화, 수정을 포함해야 한다.

커밋은 한가지에 집중하라는 것.

하나의 기능, 하나의 작업을 의미한다.


커밋 메세지

공식적으로는 현재시제의 명령형 커밋 메세지를 사용할 것을 권장 

하지만 자연스럽지 않다.

현재시제는 깃에서 권장하는 방법이고, 사람들이 현재 시제를 사용하는 주요 이유 중의 하나는 깃이 어느 시점에서 스스로 메시지를  생성하기 때문이다.

하지만 과거시제가 조금 더 자연스럽게 느껴진다. 왜냐하면 작업한것을 커밋하기 때문이다. 작업이 끝나고, 커밋하기 때문이다. 

개인적으로는 상관이 없지만, 팀프로젝트나 회사프로젝트에서 가이드라인을 잘 따라가야한다.


커밋 메세지 없이 커밋하는 경우

git status

outline.txt 파일의 jordan의 소문자 j를 대문자 J로 바꾸고 git statusmodified: outline.txt를 확인했다.

git add outline.txt
git commit

outline.txt를 스테이지에 추가 후, 커밋 메세지를 넣지 않고 git commit을 했다.

그러니 터미널에 내장 되어있는 nano 에디터로 commit 메세지를 넣으라고 화면이 바꼈다. 

이 화면에서는 i로 (insert) 문자를 삽입할 수 있고 나올때는 컨트롤 x 를 누른 후 y를 누르고 엔터를 치면 나올 수 있다.  

git log

git log 커맨드로 입력된 커밋메세지와 함께 커밋을 확인할 수 있다. 


Visual Studio를 커밋 메세지 디폴트 에디터로 설정하기

git config --global core.editor "code --wait"

global은 모든 저장소에 이 명령을 적용하겠다는 뜻이고, core.editor에는 비주얼 스튜디오 코드를 뜻하는 code를 넣는다.

그리고 --wait 옵션은 에디터가 열리고 우리가 커밋 메세지를 저장하고 닫을때까지 기다린다는 의미이다.

git status

outline.txt에 June 이라는 이름을 하나 더 넣고 저장 후 git status 명령어로 modified: outline.txt를 확인

git add outline.txt
git commit

 outline.txt 파일만 스테이지 공간에 등록하고 커밋 메세지 없이 commit 을 하면 커밋 메세지를 visual studio 내에서 수정이 가능하게 바뀌게 된다.

vim 에디터와 비슷하게 저장하고 나올때는 esc를 누른 뒤 콜론을 입력하고 wq (w는 write, q는 quit)을 입력하고 엔터를 눌러 나올 수 있다.

git log

git log를 눌러서 확인해봐도 잘 입력되어있다. 


Git log 옵션

git log --oneline

다양한 옵션이 있지만 이 옵션이 가장 편리하다.

커밋 메세지가 길 경우, 젤 위 한 줄만 보여주는데 이를 위해서 우리는 첫 번째 줄은 커밋을 요약한 것이어야 한다는 패턴을 따라야 한다.


Amend로 실수 수정하기

https://git-scm.com/docs/git-commit

amending commits 커밋수정이다. 

깃으로 작업을 할 때 커밋을 한 다음 새 파일을 넣는것을 잊었다거나, 커밋한 다음 메세지를 읽었을 때 오타가 있는 것을 발견하고 수정할 때 사용할 수 있는 commit 옵션이다.

바로 직전에 실행한 커밋의 실수에만 적용할 수 있다.

gitpractice 디렉토리 안에 있는 모든 파일에 Nishi라는 캐릭터의 이름을 넣고 저장했다.

그리고 git status커멘드로  modified가 되어있는것을 확인 할 수 있다.

그리고 의도적으로 파일을 하나 잊어버리고 스테이지에 추가하지 않아서 커밋을 잘못한 상황을 가정하기 위해 outline.txt를 제외하고 스테이지에 추가했다.

커밋을 하고 git status로 확인했더니 outline.txt를 빼먹고 커밋을 한 것을 발견했다.

git add outline.txt
git commit --amend

이럴때 git add outline.txt로 빼먹은 파일을 스테이지에 추가해주고 git commit --amend 로 수정해준다.

 git commit --amend 명령어를 입력하면 설정되어있는 에디터가 열린다 (필자의 경우 VS code) 

그리고 열린 파일에 보면 On branch master에 modified: outline.txt가 추가되어있는 것을 알 수 있다.

뿐만아니라 커밋메세지도 수정이 가능하게 되어있다.

커밋 메세지는 수정하지 않고, 파일이 추가되었는지만 확인했다. 

메세지에 3 files changed라고 표시되는것을 보니 정상적으로 추가 되었다는 것을 알 수있다.


 

JUNE .

20'S LIFE IN SYDNEY and BUSAN

    이미지 맵

    DevOps Study/Git and Github 다른 글

    이전 글

    다음 글