이제 첫 번째 커밋, 첫 번째 버전을 만들어보자. 버전을 만들 때는 "git commit"명령어를 이용하며, 스테이징 에리어에 있는 변경사항을 깃 리파지토리에 옮겨주는 역할을 한다. 아무런 옵션없이 이용하게 되면 기본적인 템플릿이 나온다.
보통은 커밋에 대한 타이틀을 작성하고 그 다음에 조금 더 자세한 상세설명을 적는 것으로 진행된다. 저장을 하고 파일을 닫으면 저장이 되어야하는데 나는 "Aborting commit due to empty commit message"가 뜨면서 저장이 되지 않았다. 빈 커밋 메시지로 인해 중단한다는 내용인데 어떻게 해결해야할지 몰라 검색하니 stackoverflow라는 홈페이지에서 Armin이라는 분이 답글 주신걸로 치니 해결이 되었다.
"git log"명령어로 히스토리를 자세히 확인할 수 있다. 전체적인 해시코드와 누가 언제 했는지 Title과 Description을 확인할 수 있다.
이런식으로 바로 git commit을 이용하는 경우는 없다. 예를들어 c.txt파일에 add를 추가하고, 모든 파일들을 스테이징 에리어로 옮긴다. 그리고 "git commit -m "Second commit""으로 -m 메시지 옵션을 이용해서 커밋 메시지를 바로 입력해 간단하게 커밋할 수 있다.
또한, 수정된 파일들은 다시 스테이징 에리어로 옮긴다음에 커밋을 해야하는데, 워킹디렉토리에 있는 모든 변경사항이 마음에 들어 add라는 명령어를 굳이 사용하지 않아도 "git commit -a" 명령어로 전부 커밋 또는 "git commit -am "third commit""으로 메시지와 함께 전부 커밋이 가능하다.
깃 리파지토리(디렉토리)에는 어떤 규모의 커밋을 해나가면 적당할까? 깃 디렉토리에 있는 커밋들은 히스토리의 창고이다. 작업들을 버전별로 나눠 관리할 수 있는 유용한 창고이다. 그렇기 때문에 이 히스토리에 전체적인 어플리케이션을 만들어서 하나의 커밋으로 저장하게 되면 아무런 의미가 없다. 이 히스토리에는 우리가 어플리케이션을 만든다면 세분화해서 기능별로 작은 단위로 만들어 나가는 것이 중요하다. 또한 의미있는 이름을 지정해서 저장하는 것이 중요한다.
커밋할 때 중요한 점은 커밋을 할 때는 고친 내용만 포함한 커밋을 만들어야한다. (여러가지를 고치고 새로운 기능을 넣으면 코드리뷰 및 히스토리를 볼 때 혼돈이 온다.) 커밋 메시지에 맞게 해당하는 그 내용만 포함해서 커밋 하는 것이 중요하다.
이제 소스트리로 커밋하는 내용을 알아보자. c.txt에서 내용을 수정하고 저장하면 워킹 디렉토리-modified에 c.txt파일이 생긴다. 여기서 c.txt옆 +버튼을 눌러주면 스테이징 에리어에 옮겨진다. 또한 선택한 줄만 옮길 수도 있다. (옮겨진 후 c.txt 옆 -를 누르면 다시 워킹 디렉토리로 옮겨진다.)
터미널에서 하는 것은 직관적이지 않기 때문에 UI툴로 세분화해서 커밋이 가능하다. 그리고 아래의 커밋 메시지를 입력하고 커밋버튼을 누르면 커밋이 된다. remote를 다룰 때 자동적으로 푸시를 하고 싶으면 "-에 바뀐 내용 즉시 푸시"체크박스에 체크하면 된다. 지금은 지정된 remote가 없기 때문에 활성화 되지 않는다.
그리고 히스토리를 눌러보면 여태까지 커밋 된 히스토리를 확인해 볼 수 있다.
'기본공부 > 깃(Git)&깃허브(GitHub)' 카테고리의 다른 글
[깃, 깃허브 배우기] 깃 add명령어로 스테이징 에리어로 파일 옮기기 -4- (by. 드림코딩) (0) | 2021.04.21 |
---|---|
[깃, 깃허브 배우기] 깃 워크플로우(Working Directory/Staging Area/.git directory) -3- (by. 드림코딩) (0) | 2021.04.20 |
[깃, 깃허브 배우기] 깃 명령어 생성(mkdir), 초기화(init) 및 제거(rm) -2- (by. 드림코딩) (0) | 2021.04.19 |
[깃, 깃허브 배우기] 깃 다운로드 및 환경설정 -1- (by. 드림코딩) (0) | 2021.04.18 |
Git(깃) / GitHub(깃허브) (0) | 2021.04.17 |