Critical

  • git ignore

 

Important

  • Atomic commits (커밋의 원자적 유지)
  • 좋은 커밋 메시지 작성
  • 깃 문서 탐색

 

Nice To Have

  • GUI 사용
  • Amending commits (커밋 변경)

 

깃의 문서는 https://git-scm.com 에서 볼 수 있다. 명령어의 기능이 궁금할 때 레퍼런스를 참조하면 된다.

 

* Atomic commits (커밋의 원자적 유지)?

가능하다면 커밋은 단일 기능이나 단일 변화, 수정만을 포함시켜야 한다.

한 커밋에 모든 변경사항들을 통합한다면 커밋을 롤백할 때 많은 작업들을 취소해야 할 수도 있다.

 

* 커밋 메시지 작성

현재 시제의 명령형 커밋 메시지를 사용할 것을 공식적으로 권장하고 있다.

예를들어 'x를 만들다', 'x를 변경하다' 등의 동사(영어 기준)로 표현해야 한다.

 

 

커밋 메시지를 넣지 않고 커밋을 하면 vim으로 진입하게 된다.

이 때 i를 입력하면 입력 모드로 바뀌고 메시지를 작성 후 esc입력, :wq를 입력하면 커밋 메시지가 추가되고 다시 터미널로 돌아온다.

-m 플래그를 통한 커밋은 보통 짧은 메시지를 쓸 때 사용되고 길게 쓸 필요가 있을 때 사용하면 될 것으로 보인다.

 

 

git log

--pretty : 로그가 출력되는 방식을 바꾼다.

--oneline (--pretty=oneline --abbrev-commit) : 해시 길이를 줄이고 커밋 메시지도 한줄만 출력한다.

 

터미널이나 GUI나 작동 방식은 동일하지만 GUI는 시각적으로 다이어그램을 볼 수 있으므로 흐름을 파악하는데 도움이 된다.

 

* Amending commits

직전의 커밋을 수정한다. 커밋에 파일을 포함시키는 것을 잊거나 메시지 오타 발생 등 커밋에 빼먹은 내용이 발생했을 때 수정할 수 있다. 반드시 "직전 커밋" 에만 사용할 수 있다.

git commit -m "something"
# 여기서 누락된 걸 확인했을 때
git add something.txt
git commit --amend

 

* git ignore

보통은 저장소의 최상위 폴더에 넣는다. 깃이 추적하길 원하지 않는 컨텐츠를 .gitignore에 작성 해놓으면 추적하지 않는다.

https://gitignore.io 에서 작업중인 프로젝트의 환경을 검색하면(ex: python) gitignore에 추가할 권장 내용들을 보여준다.

+ Recent posts