[깃허브(Github)] 11. 변경사항 커밋하기

Github 사용법 2016. 8. 7. 16:02

728x90
반응형

이번에는 여태까지 해온 정보? 들을 커밋해보겠습니다.

커밋이란 '마무리된 작업에 작업 이력을 저장소로 보내는 행위' 를 뜻합니다. (출처 : https://opentutorials.org/module/217/2286)






1. 저는 지금은 일단 맥으로 작업을 해서 윈도우로 했을때와 파일 구성이 같지 않습니다만...

윈도우나 맥이나 깃 사용법은 똑같습니다. 그렇기에 여태까지 깃허브 포스팅을 잘 따라 하셨다면 아무 문제 없습니다.

지금 저는 index.html이 Tracked상태이고, main.js는 Tracked 상태이지만 Staged는 아닌 상태 입니다.

style.css는 새로 생성만 한 상태이네요.







2. git commit

커밋을 명령을 쏴주면 이런 화면이 뜹니다. (맥에선.. 윈도우는 테스트 안해봤는데 동일할 듯하네요. 이따가 집에가서 해봐야지)

이 화면은 Vim편집기의 화면입니다. 셸의 $EDITOR 환경 변수에 등록된 편집기 라고 하네요.

이 편집기는 git config --global core.editor 에디터_이름 으로 바꿀 수 있습니다.

근데 vim을 가장 많이 쓰고 여기에 대한 정보가 가장 많으니 이걸 사용하는게 나을꺼 같습니다.

아무튼 이 화면에서 커밋 메시지를 입력해야 하는데요..







3. 혹시 만약 실수로 위의 사진과 같은 화면에서 어떻게 해야할지 몰라서 화면을 꺼버렸고 커밋메시지도 입력을 안했다 싶을때

다시 git commit명령으로 위와 같은 화면을 보려고 하면 이러한 문구들이 펼쳐 집니다. ㅠㅠ

이때, 엔터 -> 알파벳 대문자 E 를 입력 -> 엔터 해서 다시 위와 같은 화면을 볼 수 있습니다.







4. 근데 메시지를 입력하라는 이 창에 어떻게 메시지를 입력해야 할지 몰라서

유일하게 알고 있는 명령어인....

ESC -> : (세미콜론) 입력 -> wq 입력 후 엔터.. 로 빠져 나왔습니다.

git commit  명령 입력 후 메시지 입력하는 방법 아시는 분 덧글 부탁 드립니다! ; 검색해 봐도 인라인으로 하는 방법이 가장 이해가 쉽네요...

그래서 인라인으로 커밋 메시지를 넣어주겠습니다.

git commit -m "커밋메시지_입력"

사진에서 아랬쪽 커밋 내역은 제가 먼저 테스트를 진행하였습니다.

아무튼 이렇게 커밋 메시지는 한글도 입력이 가능한걸 확인할 수 있습니다.

하지만 진행되는 프로젝트의 커밋 메시지 양식이 있다면 그걸 따라 작성하는게 가장 현명한 방법일꺼라 생각됩니다. (협업을 아직 안해봤습니다... 할 환경이 갖춰지지 않아서...)

붉은 네모상자에 있는 메시지는 (master) 브랜치에 커밋했고, 체크섬은 (41ea0d5) 라고 알려주고 있네요.

그리고 수정한 파일이 몇 개이고 삭제됐거나 추가된 라인이 몇 라인인지 알려준다는데....

제가 이번에 테스트를 진행하면서 style.css 만 add 했습니다. 음 뭐.... 맞는... 거 같네요; 아직 git에 익숙치 않습니다.






<!-- 160808 추가 시작 -->




너무 당연한 부분이라서 검색해도 안나왔었던 모양입니다. (민망...)

그냥 이전에 커밋된걸 수정하기 위해 vim 으로 열어보면 알 수 있었던걸 왜 그 생각을 이제야 했는지...

git commit를 하게 되면 추가옵션(인라인) 중에 -m 을 붙이지 않을 시에 vim 편집기가 열리면서 위와같은 화면이 출력 됩니다.

아무튼... 아래 사진에서 노란색 글씨 보이시나요?

이건 포토샵이나 그림판 같은거로 편집한게 아니고 커밋 메시지를 입력한것 입니다.

저 화면이 뜨면 일단 저 화면을 편집하기 위해선 i 를 한번 눌러주면 내용수정이 가능합니다.

메시지를 상단에 입력을 했다면 ESC를 한번 눌러 주시고 : (세미콜론) 입력후 저장한 다음 빠져나가기 라는 명령어인 wq 를 입력해 줍니다.

이 스샷의 가장 아랬부분에 보이실 꺼예요.







빠져나갔다면 아래와 같은 붉은 박스에 이렇게 잘 입력이 된걸 확인하실 수 있습니다.






<!-- 160808 추가 끝 -->





5. Git은 Staging Area에 속한 스냅샷을 커밋한다는 것을 기억해야 합니다. 수정은 했지만, 아직 Staging Area에 넣지 않은 것은 다음에 커밋할 수 있습니다. 커밋할 때마다 프로젝트의 스냅샷을 기록하기 때문에 나중에 스냅샷끼리 비교하거나 예전 스냅샷으로 되돌릴 수 있습니다.


(저는 이 커밋을 한 3번 정도 실험해 봐서 이제 로그가 다를 수 있습니다. 하지만 로그는 로그일 뿐.. 이 포스팅을 보시고 깃 따라해 주시면 커밋에 대해 충분히 실험해 보시기 바랍니다.)

반응형