Top

GitHub Essentials [소프트웨어 개발에 GitHub 활용하기]

  • 원서명GitHub Essentials (ISBN 9781783553716)
  • 지은이아킬레아스 피핀넬리스(Achilleas Pipinellis)
  • 옮긴이김영기, 곽서연
  • ISBN : 9788960779969
  • 18,000원
  • 2017년 04월 25일 펴냄
  • 페이퍼백 | 216쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

요약

버전 관리 시스템인 Git을 기반으로 하는 GitHub의 강력한 기능을 소개한다. 저장소 생성의 기본 사항부터 시작해 프로젝트에 대한 토론이 이뤄지는 이슈 트래커의 관리 방법, 프로젝트에 사용할 수 있는 위키와 문서화 기능까지 살펴본다. 이와 함께 GitHub에서 팀을 관리하는 방법과 GitHub의 핵심적인 기능 중 하나인 풀 리퀘스트(Pull request)를 살펴본다. 마지막으로 GitHub에서 호스팅하는 간단한 웹 페이지 생성 방법과 사용자 및 저장소에서 구성할 수 있는 설정들을 살펴본다.

이 책에서 다루는 내용

■ 계정에 대한 저장소의 생성과 업로드
■ 서로 다른 접근 수준을 갖는 조직의 생성과 팀 관리
■ 효과적인 이슈 트래커의 사용법과 레이블, 마일스톤을 갖는 이슈에 내용 추가
■ 소프트웨어 버전의 예약과 출시
■ 팀의 효과적인 작업 방법과 코드를 통한 협업
■ 사용자 계정과 프로필 생성, 접근 수준과 사용자 설정 방법
■ GitHub가 제공하는 정교한 도구를 이용해 프로젝트와 관련된 커뮤니티 생성
■ 쉬운 배포와 프로젝트를 위한 무료 정적 웹 사이트 구축

이 책의 대상 독자

Git에 대한 기본적인 지식을 갖고 있는 숙련된 개발자나 초보 개발자를 대상으로 한다. 트위터, 구글, 또는 GitHub 같은 대규모 프로젝트에 대해 배우고 코드 협력 방법에 대해 알기고 싶다면, 이 책은 당신을 위한 것이다.

이 책의 구성

1장, ‘저장소의 개요 및 이슈 트래커 사용’에서는 GitHub가 제공하는 주요 기능의 일부와 이러한 기능의 사용 방법을 설명한다. 이슈 트래커는 프로젝트 개발자와 사용자 사이의 의사소통에 중요하다. 이슈 트래커는 버그, 리포트, 기능 요청, 그리고 무엇이든 기록할 수 있는 각 저장소의 전용 메모장으로 생각하면 된다. GitHub는 이슈 트래커 상단에 레이블과 마일스톤 같은 다양한 구현 기능을 갖고 있으며, 이러한 기능은 모든 이슈에 대해 더 나은 시각화와 분류 능력을 제공한다.
2장, ‘위키 사용과 코드 버전 관리’에서는 프로젝트를 보완하는 문서화 기능을 제공하며 위키를 생성, 편집, 유지하는 방법에 도움이 되는 내용을 학습한다. 또한 기존 브랜치에서 분기되는 새로운 출시 브랜치나 태그, 선택적인 출시 노트(release notes)를 생성하는 방법을 배운다. 최종 사용자는 이와 같은 방법으로 이전 버전에서의 변경 사항을 이해 할 수 있다.
3장, ‘조직 및 팀 관리’에서는 독자가 소유하는 조직의 생성과 관리 방법을 학습한다. 또한 팀 생성 방법, 팀에 사용자를 추가하는 방법, 필요에 따라 사용자에게 서로 다른 액세스 수준을 할당하는 방법도 배운다.
4장, ‘GitHub 워크플로를 사용한 협업’에서는 브랜치와 GitHub의 가장 강력한 기능인 당김 요청을 통한 작업 방법에 대해 학습한다.
5장, ‘GitHub 페이지와 웹 분석’에서는 프로젝트와 관련한 웹 페이지를 구축하고, GitHub 상에서 배타적으로 호스팅하는 방법을 학습한다. 독자들은 HTML, CSS, 그리고 자바 스크립트를 이용해 정적 웹 페이지를 만들 수 있는 능력을 갖고 있어야 한다.
6장, ‘용자 및 저장소 설정’에서는 가장 일반적이고 필수적인 내용인 사용자와 저장소 설정에 대해 살펴본다. 사용자 관점에서 독자의 사용자 설정 페이지에는 계정에 대해 하나 이상의 이메일을 연관시키고, 여러 SSH 키를 추가하거나 2단계 인증 같이 설정 가능한 많은 정보들이 있다. 마찬가지로 저장소의 일부 기능들은 저장소 설정 페이지에서 설정이 가능하다. 예를 들어, 독자는 위키 페이지를 활성화하거나 비활성화 할 수 있으며, 일반 사용자에게 이슈 트래커에 쓰기 권한을 부여하거나 완전히 비활성화할 수도 있다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.

저자/역자 소개

지은이의 말

GitHub는 말 그대로 수백만의 오픈소스 프로젝트가 갖는 코드를 호스팅하는 선도적인 코드 호스팅 플랫폼이다. GitHub는 Git과 함께 생산적인 개발 워크플로를 위한 수단을 제공해 개발자 사이에서 선호되는 도구다. 독자들은 저장소 생성에 대한 기본 사항으로 시작해 프로젝트에 대해 토론할 수 있는 이슈 트래커의 관리 방법을 배우게 된다. GitHub에 대한 여행을 계속하면서, 우리는 위키를 사용하는 방법을 살펴보고 독자의 프로젝트에 수반하게 될 다양한 문서를 작성한다. 다음 단계에서는 조직과 팀에 대한 관리를 다루고, 그 이후 GitHub를 알려지게 만든 당김 요청(pull requests) 기능을 살펴본다. 다음으로 GitHub에 호스팅하는 간단한 웹 페이지의 생성에 중점을 두며, 마지막으로 사용자와 저장소에서 구성 가능한 설정을 살펴본다

지은이 소개

아킬레아스 피핀넬리스(Achilleas Pipinellis)

오픈소스 매니아로, 가능한 많은 오픈소스 프로젝트에 참여하려고 노력하고 있다. 10여 년 전에 리눅스를 알게 된 후 줄곧 리눅스에 빠져 있다. 가장 아끼는 리눅스 배포판은 유연한 경량 시스템으로 KISS 철학 11을 준수하는 아치 리눅스(Arch Linux)다.
현재 시스템 관리자로 일하고 있으며, 특히 약간 특별한 배포가 필요한 새로운 기술을 시도하고 싶어 한다. 또한 새로운 기술을 학습할 때 도움이 되도록 기술 지침서와 논문 작성을 즐긴다.
포괄적인 문서화(comprehensive documentation)가 프로젝트의 성장과 인지에 필수적이라는 강한 믿음을 가지고 있다.
취미는 합기도고, 오픈소스 활동을 촉진하는 컨퍼런스 참석도 즐긴다.

옮긴이의 말

소프트웨어와 관련된 모든 분야가 빠르게 변하고 있다. 개발 언어부터 프로세스, 개발 조직과 문화 모두가 원하든 원하지 않든 빠르게 변하고 있다. 이러한 변화 가운데 가장 기본적이면서 개발의 근간이 되는 변화 중 하나는 소스 코드의 변경 관리라고 생각한다. 현재 가장 기본적이면서도 개발자들이 선호하는 코드 관리 시스템인 Git을 기반으로 하는 GitHub는 수 많은 오픈소스의 성장과 더불어 선도적인 코드 호스팅 플랫폼으로 성장했다. GitHub의 효율적인 활용을 위해서는 GitHub의 기본적인 기능과 더불어 GitHub에서 제공하는 다양한 부가 기능을 알고 있어야 한다. GitHub의 활용은 개발에 있어 기본적인 요구사항인 동시에 개발자에게는 필수적인 개발 역량이 돼가고 있다. 이 책은 개발자가 GitHub를 활용하는 데 필요한 기본적인 사항을 포함하고 있다. 이 책이 GitHub의 강력한 기능을 파악하고자 하는 개발자 분들께 많은 도움이 됐으면 합니다.

옮긴이 소개

김영기

삼성전자 입사 후, 사업부와 연구소를 오가며 개발과 SE 모두에 경험을 쌓았다. 지능망(IN) 및 모바일 애플리케이션 개발 경험이 있으며, 정적 분석과 SW 구조 분석 등의 업무를 담당했다. 사업부 개발 인프라 개선 T/F등을 통해 SW 개발 인프라 개선 작업에 참여했으며, 현재 삼성전자 네트워크 사업부에서 SCM을 포함한 개발 인프라를 담당하고 있다. 개발자 역량 강화와 개발 조직 구성에 관심을 갖고 있으며, 시스템 관리, 데이터베이스, 테스트와 애자일 등 SW 관련 다수의 인증 보유자다.

곽서연

국방과 통신 분야의 통합 비즈니스 솔루션 설계, 개발을 통해 소프트웨어 개발 경험을 쌓았다. 현재 삼성전자 네트워크 사업부의 SW 개발 프로세스를 담당하고 있으며, 인프라 개선, SW Audit, SW 아키텍처 분석 등 소프트웨어 개발과 관련된 SE 업무를 진행하고 있다.

목차

목차
  • 1장. 저장소의 개요 및 이슈 트래커 사용
    • 저장소의 메인 페이지 탐색
      • 새로운 저장소 생성
      • 커밋 페이지와 git log 명령어의 비교
      • branches 페이지와 git branch 명령어의 비교
      • Raw, Blame, History 버튼
      • Watch, Star, Fork 버튼
      • 설명과 URL 변경
    • 이슈 트래커의 효과적인 기능
      • 신규 이슈 생성
      • 사용자에게 이슈 할당
      • 레이블
      • 레이블이 UX에서 중요한 자산인 이유
      • 새로운 레이블 이름 생성과 여러 색상 설정
      • 레이블을 통한 이슈의 그룹화
      • 마일스톤
      • 코드 버전으로 작업 시 마일스톤이 유용한 이유
      • 신규 마일스톤 생성
      • 마일스톤에 이슈 추가
      • 마일스톤을 통한 해결된 이슈와 해결해야 하는 이슈 확인
      • 팁과 트릭
      • README 파일
      • 키보드 단축키를 이용한 쉬운 탐색
    • 요약

  • 2장. 위키 사용과 코드 버전 관리
    • 위키 사용
      • 위키가 훌륭한 프로젝트 문서 저장소인 이유
      • 신규 위키 페이지 생성
        • 페이지 삭제
      • 마크다운과 위키 - 마크다운 소개
      • 위키에 사이드바와 푸터 추가
      • 커밋 이력 확인과 상태 복원
    • 코드 버전 관리
      • 출시 생성
      • 출시 편집
      • 커맨드 라인에서 태그 푸시
      • 시험판으로 표시
      • 출시 드래프트 생성
      • 생성한 파일 업로드
    • 팁과 트릭
      • 아톰 피드를 통한 새 출시 구독
      • 로컬에서 위키 편집
      • Gollum 설치
      • 위키를 복제하고 브라우저에서 미리보기
      • 로컬에서 변경하고 GitHub로 푸시하기
    • 요약

  • 3장. 조직 및 팀 관리
    • 사용자와 조직의 차이점
    • 조직 역할과 저장소 권한 수준
    • 조직 생성
    • 전역 구성원 권한
    • 저장소
    • Teams 탭 - 조직 프로젝트에 선택적인 접근 권한을 부여하는 효과적인 방법
      • 팀 생성
      • 팀으로 초대
        • 초대 수락
      • 팀 구성원 권한
      • 팀 가입 신청
        • 1단계 - 사용자
        • 2단계 - 사용자
        • 3단계 - 소유자 및 팀 관리자
      • 팀 저장소 추가
    • People 탭
      • 접근 수준 관리
      • 구성원과 외부 공동 작업자의 차이점
      • 외부 공동 작업자로 강등
      • 구성원 초대
    • 조직 설정
      • 프로파일
      • 팀 프라이버시
      • 서드파티 접근권한
      • 감사 로그
      • 팁과 트릭
      • 프로젝트를 조직의 네임 스페이스로 이전
      • 사용자 계정을 조직 내로 전환
      • 팀 멘션
      • 대시 보드에서 조직에 대해 피드
    • 요약

  • 4장. GitHub 워크플로를 사용한 협업
    • 풀 리퀘스트
      • 풀 리퀘스트가 협업을 위한 효과적 자산인 이유
      • 브랜치와 풀 리퀘스트의 연결
        • 프로젝트에 브랜치 생성- 공유 저장소 모델
        • fork한 저장소에 브랜치 생성 - fork and pull 모델
      • 풀 리퀘스트 생성 및 제출
        • Compare & Pull request 버튼 사용
        • 비교 기능 사용
        • GitHub 웹 편집기 사용
        • 풀 리퀘스트 제출
    • 피어 리뷰 및 인라인 코멘트
      • 풀 리퀘스트 레이아웃
      • 인라인 코멘트
      • 풀 리퀘스트 개요
      • 실수 수정과 브랜치 재푸시(re-push)
    • 풀 리퀘스트 병합
      • 풀 리퀘스트 병합 이후 브랜치의 제거와 복구
      • 풀 리퀘스트 복원
    • 팁과 트릭
      • 커밋 메시지를 통한 이슈 완료
      • 풀 리퀘스트 작업 목록
      • 풀 리퀘스트의 diff 다운로드
      • 미해결 풀 리퀘스트의 전체 목록
      • 웹 편집기를 사용한 LICENSE 파일 추가
      • 웹 편집기를 사용한 새 디렉터리 생성
    • 요약

  • 5장. GitHub Pages와 웹 분석
    • GitHub Pages
      • 사용자 페이지, 조직 페이지, 프로젝트 페이지
      • 사용자 페이지나 조직 페이지 생성
      • 수동으로 프로젝트 페이지 생성
      • GitHub 페이지 생성기를 통한 프로젝트 페이지 생성
      • GitHub 페이지 생성기를 통한 프로젝트 페이지 업데이트
      • 사용자 정의 도메인 사용
      • 지킬(Jekyll)을 이용한 페이지의 사용자 정의
        • 지킬 설치
        • 지킬 소개
        • 지킬에 대해 더 알아보기
    • 웹 분석
      • 그래프
        • Contributors 탭 - 추가/삭제
        • 저장소 트래픽 확인 - 방문자, 클론, 인기 콘텐츠
        • 시간별 커밋 횟수
      • 업데이트 빈도
      • 네트워크 그래프
      • Members 탭
      • 펄스
    • 팁과 트릭
      • 지킬을 이용한 페이지 메타 데이터의 사용
    • 요약

  • 6장. 사용자 및 저장소 설정
    • 사용자 설정
      • 프로필
      • 다중 전자 메일 설정
      • SSH 키 관리
      • 이중 인증 설정
    • 저장소 설정
      • 저장소의 메인 페이지에 나타나는 기본 브랜치 변경
      • 위키 활성화/비활성화
      • 이슈 트래커 활성화/비활성화
      • 공동 작업자 추가
      • 소유권 이전 - 사용자에서 조직으로
      • 저장소 삭제
    • 팁과 트릭
      • 저장소의 크기 확인
      • 전자 메일 알림의 미세 조정

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안