책정보
- 출판사: 인사이트
- 저자: 트라비스 스위스굿
- 번역: 김성안, 이두원
- 기간: 2015. 08. 06
책 중요 내용 정리
SVN만 사용하다 Git을 회사 버전 관리 시스템으로 사용하면서 온라인의 예제 또는 내용만 읽다 체계적으로 정리된 Git에 대한 내용을 볼 수 있어 좋았습니다.
책 내용중 상당 부분이 예제를 통해 명령어를 설명하는 부분인데 기본 기능을 설명하기에는 부족함이 없었습니다.
Git방식으로 버전 관리하기
[무엇을 저장해야 하나?]
프로젝트를 진행하는 데 필요한 전부, ‘X가 없어도 프로젝트에서 작업하는 데 지장이 없는가?’ 라고 판단을 했을때 스스로 질문하고 문제가 있다면 프로젝트 관리에 포함한다.
[커밋 로그 메시지에 어떤 내용을 넣어야 할까?]
커밋 메시지는 메시지만으로도 의도를 드러내도록 커밋의 ‘이유’를 설명하는 모든 메타데이터를 포함해야 한다.
잘 작성된 커밋 메시지의 예
– 가동성을 위해 중첩된 if/elseif 구문을 switch 구문으로 변경
– 유용하지 않다고 검증한 실험 코드 삭제
완벽한 로그 메시지를 만드는 데는 장인정신이 필요한다.
브랜치(Branch) 이해
기본적으로 하나의 브랜치 즉 마스터 브랜치만 사용해도 버전 관리 시스템이 제공하는 모든 이점을 얻을 수 있다. Git을 사용하면 이력을 추적하고 다른 개발자와 협업할 수 있다. 또한, 갑자기 중요한 파일이 지워지는 상황도 대처 할 수 있다. 하지만 이 정도로 Git을 사용한다면 마치 경주용 자동차를 타고 출퇴근을 하는 것과 같다. 목적지에 도착은 하겠지만, 출근시간인 오전 8시에는 결코 경주용 차의 성능을 제대로 끌어낼 수 없다.
[브랜치 생성시 고려사항]
– 실험적인 변경 사항
– 새로운 기능
– 버그 수정
[브랜치 간의 변경 사항 합치기 ]
– 바로 합치기(Straight Merge): 하나의 브랜치와 다른 브랜치의 변경 이력 전체를 합치기
– 커밋 합치기(Squashed Commit): 한 브랜치의 이력을 압축하여 다른 브랜치의 최신 커밋 하나로 만드는 방법
– 선택하여 합치기(Cherry-picking): 다른 브랜치에서 하나의 커밋을 가져와서 현재 브랜치에 적용하는 방법
태그 (Tag)
서브버전 사용자에게 익숙한 태그와 달리 Git의 태그는 읽기 전용이다. 읽기만 가능하다는 말은 브랜치와는 다르게 태그의 내용을 변경할 수 없음을 의미한다. (물론 Tag에서 새로운 브랜치를 생성하는 것이 가능하다.)