팀을 위한 Git: Git 워크플로우를 효율적으로 만드는 사용자 중심 접근법

Book description

"Git은 단순한 빌드 소프트웨어가 아니다. 이 책은 버전관리에서 사람을 우선으로 하는 접근법을 실용적으로 풀어내고, 이를 통해 Git을 중심으로 하여 더 효과적으로 팀 작업을 하는 방법에 대해서도 설명한다. 또한 계획을 세우는 방법을 설명하고, Git 워크플로우를 적용하는 방법도 설명한다. Git 워크플로우는 프로젝트 목표를 완수하는 데 큰 도움이 된다. 팀 내부의 즉각적인 요구에 유연하게 대응하고 팀이 지속적으로 성장할 수 있게 한다.

이 책의 첫째 파트는 워크플로우를 구성하는 방법을 다루는데, 프로젝트 매니저, 기술팀장, CTO 등의 위치에 있는 이들에게 도움이 될 것이다. 둘째 파트는 직접 수행해볼 수 있는 예제를 제공하여 개발자들이 Git 명령어를 더 잘 이해할 수 있도록 돕는다."

Table of contents

  1. 팀을 위한 Git
    1. 추천사
    2. 저자 서문
    3. 역자 서문
    4. 들어가며
    5. 목차 (1/3)
    6. 목차 (2/3)
    7. 목차 (3/3)
  2. Part I 워크플로우 작성하기
    1. Chapter 1 팀으로 일하기
      1. 1.1 팀원들
      2. 1.2 사고 전략
      3. 1.3 팀 회의
        1. 1.3.1 시작
        2. 1.3.2 진척 상황 추적
        3. 1.3.3 공감대 구축하기
        4. 1.3.4 결과와 회고
      4. 1.4 팀 작업 관련 Git 용어
      5. 1.5 요약
    2. Chapter 2 지시통제
      1. 2.1 프로젝트 거버넌스
        1. 2.1.1 저작권과 저작권 동의서
        2. 2.1.2 배포 라이선스
        3. 2.1.3 리더십 모델
        4. 2.1.4 행동 수칙
      2. 2.2 접근 모델 (1/2)
      3. 2.2 접근 모델 (2/2)
        1. 2.2.1 분산 기여 모델
        2. 2.2.2 공동 기여 저장소 모델
        3. 2.2.3 공유된 유지보수 모델
        4. 2.2.4 커스텀 접근 모델
      4. 2.3 요약
    3. Chapter 3 브랜치 전략
      1. 3.1 브랜치 이해하기
      2. 3.2 규약 선택하기
      3. 3.3 규약 (1/3)
      4. 3.3 규약 (2/3)
      5. 3.3 규약 (3/3)
        1. 3.3.1 메인라인 브랜치 개발
        2. 3.3.2 기능별 브랜치 배포
        3. 3.3.3 상태 브랜칭
        4. 3.3.4 정기 배포
      6. 3.4 브랜치 업데이트하기
      7. 3.5 요약
    4. Chapter 4 효과적인 워크플로우
      1. 4.1 워크플로우 개선하기
        1. 4.1.1 과정 문서화하기
        2. 4.1.2 암호화된 결정 문서화하기
      2. 4.2 티켓 진행
      3. 4.3 기본 워크플로우
        1. 4.3.1 신뢰하는 개발자들과 상호 검토
        2. 4.3.2 믿을 수 없는 개발자들과 QA 게이트키퍼
      4. 4.4 일정에 따라 소프트웨어 릴리즈하기
        1. 4.4.1 안정화 릴리즈 버전 출시하기
        2. 4.4.2 지속적 개발
        3. 4.4.3 출시 후 핫픽스
      5. 4.5 소프트웨어 이외 프로젝트 협업
      6. 4.6 요약
  3. Part Ⅱ 워크플로우에 명령어 적용하기
    1. Chapter 5 1인 팀
      1. 5.1 이슈 기반 버전 관리
      2. 5.2 로컬 저장소 생성하기 (1/2)
      3. 5.2 로컬 저장소 생성하기 (2/2)
        1. 5.2.1 기존의 프로젝트 사본 만들기
        2. 5.2.2 기존의 프로젝트를 Git 저장소로 변환하기
        3. 5.2.3 빈 프로젝트 초기화하기
        4. 5.2.4 히스토리 검토하기
      4. 5.3 브랜치 작업 (1/2)
      5. 5.3 브랜치 작업 (2/2)
        1. 5.3.1 브랜치 목록 만들기
        2. 5.3.2 원격 브랜치 목록 업데이트하기
        3. 5.3.3 다른 브랜치 사용하기
        4. 5.3.4 새 브랜치 생성하기
      6. 5.4 수정사항 저장소에 추가하기 (1/2)
      7. 5.4 수정사항 저장소에 추가하기 (2/2)
        1. 5.4.1 저장소에 일부 수정 파일만 추가하기
        2. 5.4.2 부분적 수정사항 커밋하기
        3. 5.4.3 준비 영역에서 파일 제거하기
        4. 5.4.4 확장된 커밋 메시지 작성하기
        5. 5.4.5 파일 무시하기
      8. 5.5 태그 붙이기
      9. 5.6 원격 저장소와 연결하기
        1. 5.6.1 새 프로젝트 생성하기
        2. 5.6.2 두 번째 원격 연결 추가하기
        3. 5.6.3 수정사항 push 하기
        4. 5.6.4 브랜치 유지 보수
      10. 5.7 명령어 참조
      11. 5.8 요약
    2. Chapter 6 롤백, 리버트, 리셋, 리베이스
      1. 6.1 모범 사례
        1. 6.1.1 문제 설명하기
        2. 6.1.2 실험 작업을 위한 브랜치 사용하기
      2. 6.2 단계적 리베이싱 (1/2)
      3. 6.2 단계적 리베이싱 (2/2)
        1. 6.2.1 리베이스 시작하기
        2. 6.2.2 리베이스 중에 발생한 삭제된 파일에 대한 충돌
        3. 6.2.3 리베이스 중에 발생한 파일 내 병합 충돌
      4. 6.3 잃어버린 작업 찾기 개요
      5. 6.4 파일 복구하기
      6. 6.5 커밋 작업하기 (1/3)
      7. 6.5 커밋 작업하기 (2/3)
      8. 6.5 커밋 작업하기 (3/3)
        1. 6.5.1 커밋 수정하기
        2. 6.5.2 Reset으로 커밋 합치기
        3. 6.5.3 인터랙티브 리베이싱을 사용해 커밋 수정하기
        4. 6.5.4 브랜치 병합 취소하기
      9. 6.6 공유 히스토리 되돌리기 (1/2)
      10. 6.6 공유 히스토리 되돌리기 (2/2)
        1. 6.6.1 기존의 커밋 무력화하기
        2. 6.6.2 공유된 브랜치 병합 취소하기
      11. 6.7 히스토리 완전 삭제하기
      12. 6.8 요약
    3. Chapter 7 1인 이상의 팀
      1. 7.1 프로젝트 시작하기 (1/2)
      2. 7.1 프로젝트 시작하기 (2/2)
        1. 7.1.1 새 프로젝트 생성하기
        2. 7.1.2 권한 설정하기
        3. 7.1.3 프로젝트 저장소 업로드하기
        4. 7.1.4 README 파일에 프로젝트를 문서화하기
      3. 7.2 개발환경 설정하기 (1/2)
      4. 7.2 개발환경 설정하기 (2/2)
        1. 7.2.1 소비자
        2. 7.2.2 기여자
        3. 7.2.3 관리자
      5. 7.3 개발에 참여하기 (1/3)
      6. 7.3 개발에 참여하기 (2/3)
      7. 7.3 개발에 참여하기 (3/3)
        1. 7.3.1 완벽한 커밋 작성하기
        2. 7.3.2 브랜치를 최신 상태로 업데이트하기
        3. 7.3.3 작업 검토하기
        4. 7.3.4 완료 작업 병합하기
        5. 7.3.5 병합 및 리베이스 충돌 해결하기
        6. 7.3.6 작업 게재하기
      8. 7.4 샘플 워크플로우 (1/2)
      9. 7.4 샘플 워크플로우 (2/2)
        1. 7.4.1 스프린트기반 워크플로우
        2. 7.4.2 상호 검토 없이 신뢰하는 개발자들
        3. 7.4.3 믿을 수 없는 개발자들과 독립적 품질 보증
      10. 7.5 요약
    4. Chapter 8 검토 준비하기
      1. 8.1 검토의 종류
      2. 8.2 검토자의 종류
      3. 8.3 코드 검토를 위한 소프트웨어
      4. 8.4 이슈 검토하기
      5. 8.5 제안된 수정사항 적용하기
        1. 8.5.1 공유된 저장소 설정
        2. 8.5.2 포킹된 저장소 설정
        3. 8.5.3 제안된 브랜치 체크아웃하기
      6. 8.6 제안된 수정사항 검토하기
      7. 8.7 피드백 준비하기
      8. 8.8 평가 제출하기
      9. 8.9 검토 완료하기
      10. 8.10 요약
    5. Chapter 9 버그를 찾고 수정하기
      1. 9.1 stash를 사용해 긴급 버그 수정 작업하기
      2. 9.2 히스토리 기록 비교 연구
      3. 9.3 명령어 blame을 통해 파일 히스토리 조사하기
      4. 9.4 명령어 bisect로 히스토리 재연하기
      5. 9.5 요약
  4. Part Ⅲ Git 호스팅
    1. Chpater 10 GitHub의 오픈소스 프로젝트
      1. 10.1 GitHub 시작하기 (1/3)
      2. 10.1 GitHub 시작하기 (2/3)
      3. 10.1 GitHub 시작하기 (3/3)
        1. 10.1.1 계정 생성하기
        2. 10.1.2 기관 생성하기
        3. 10.1.3 개인 저장소
      4. 10.2 GitGub에서 공개 프로젝트 사용하기
        1. 10.2.1 저장소 스냅샷 다운로드하기
        2. 10.2.2 로컬에서 작업하기
      5. 10.3 프로젝트에 기여하기
        1. 10.3.1 이슈에 따라 수정사항 추적하기
        2. 10.3.2 프로젝트 포킹하기
        3. 10.3.3 Pull 요청하기
      6. 10.4 자신만의 프로젝트 운영하기
        1. 10.4.1 프로젝트 저장소 생성하기
        2. 10.4.2 공동 관리자 승인하기
        3. 10.4.3 pull 요청을 검토하고 수락하기
        4. 10.4.4 pull 요청과 병합 충돌
      7. 10.5 요약
    2. Chapter 11 Bitbucket에서의 비공개 팀 작업
      1. 11.1 비공개 프로젝트를 위한 프로젝트 거버넌스
      2. 11.2 시작하기 (1/3)
      3. 11.2 시작하기 (2/3)
      4. 11.2 시작하기 (3/3)
        1. 11.2.1 계정 생성하기
        2. 11.2.2 환영 화면에서 비공개 프로젝트 생성하기
        3. 11.2.3 대시보드에서 비공개 프로젝트 생성하기
        4. 11.2.4 새 저장소 설정하기
        5. 11.2.5 프로젝트 살펴보기
        6. 11.2.6 저장소의 파일 수정하기
      5. 11.3 프로젝트 설정 (1/2)
      6. 11.3 프로젝트 설정 (2/2)
        1. 11.3.1 위키 페이지를 통한 프로젝트 문서화
        2. 11.3.2 이슈를 통해 수정사항 추적하기
      7. 11.4 접근 권한 관리
        1. 11.4.1 공유된 접근 권한
        2. 11.4.2 개발자별 포크
        3. 11.4.3 보호 브랜치에 대한 접근 제한하기
      8. 11.5 pull 요청
        1. 11.5.1 pull 요청 제출하기
        2. 11.5.2 pull 요청 수락하기
      9. 11.6 Atlassian Connect를 통해 Bitbucket 확장하기
      10. 11.7 요약
    3. Chapter 12 GitLab을 통해 자체 호스팅하는 협업
      1. 12.1 시작하기 (1/2)
      2. 12.1 시작하기 (2/2)
        1. 12.1.1 GitLab 설치하기
        2. 12.1.2 관리자 계정 설정하기
        3. 12.1.3 관리자 대시보드
      3. 12.2 프로젝트
        1. 12.2.1 프로젝트 생성하기
      4. 12.3 사용자 계정
        1. 12.3.1 사용자 계정 생성하기
        2. 12.3.2 프로젝트에 사람들 추가하기
      5. 12.4 그룹
        1. 12.4.1 그룹에 사람들 추가하기
        2. 12.4.2 그룹에 프로젝트 추가하기
      6. 12.5 접근 권한 관리
        1. 12.5.1 프로젝트 공개 수준
        2. 12.5.2 프로젝트 역할에 따라 활동 제한하기
        3. 12.5.3 보호 브랜치에 대한 접근 제한하기
      7. 12.6 마일스톤
      8. 12.7 요약
  5. 부록
    1. 부록 A 버터 타르트
      1. A.1 오스틴 버터 타르트
      2. A.2 반 데르 헤이든 버터 타르트
    2. 부록 B 최신 버전 Git 설치하기
      1. B.1 Git 설치 및 업그레이드하기
      2. B.2 커맨드라인 찾기
        1. B.2.1 OS X
        2. B.2.2 리눅스
        3. B.2.3 윈도
      3. B.3 유닉스 계열 시스템에서 업그레이드하기
      4. B.4 OS X 문제
      5. B.5 커맨드라인에서 Git 도움말 보기
    3. 부록 C Git 설정하기
      1. C.1 자기 자신 확인하기
      2. C.2 커밋 메시지 에디터 바꾸기
      3. C.3 색깔 추가하기
      4. C.4 명령 프롬프트를 원하는 대로 바꾸기
      5. C.5 시스템 파일 무시하기
      6. C.6 새 줄 문자
        1. C.6.1 새줄 문자 수정하기
    4. 부록 D SSH 키
      1. D.1 자신만의 SSH 키 생성하기
        1. D.1.1 리눅스, OS X, 유닉스 변형판
        2. D.1.2 윈도
      2. D.2 공개 SSH 키 가져오기

Product information

  • Title: 팀을 위한 Git: Git 워크플로우를 효율적으로 만드는 사용자 중심 접근법
  • Author(s): 최병현, 엠마 제인 호그빈 웨스트비
  • Release date: October 2016
  • Publisher(s): Hanbit Media, Inc.
  • ISBN: 9788968488337