간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (22,230원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (16,380원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (18,720원)
(최대할인 4만원 / 2만원 이상 결제)
Close

소셜 코딩으로 이끄는 GitHub 실천 기술 : Git과 GitHub를 직접 따라하며 배운다

원제 : GitHub??入門 Pull Requestによる開?の?革
소득공제

2013년 9월 9일 이후 누적수치입니다.

공유하기
정가

26,000원

  • 23,400 (10%할인)

    1,300P (5%적립)

할인혜택
적립혜택
  • S-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
  • 5/28(화) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
  • 주문수량
    감소 증가
    • 이벤트/기획전

    • 연관도서

    • 상품권

    AD

    책소개

    『소셜 코딩으로 이끄는 GitHub 실천 기술』은 많은 개발자가 사용하고 있는 GitHub를 실무에서 어떻게 사용하는지 설명하는 책이다. GitHub의 기본적인 사용 방법부터 GitHub를 활용한 개발 진행 과정과 개발을 지원해 주는 추가적인 도구들도 함께 설명하고 있다.

    출판사 서평

    실용적인 개발 진행 과정을 직접 체험하면서 익힐 수 있다!
    Pull Request 테스트 사이트 제공!


    이 책은 전 세계의 수많은 개발자가 사용하고 있는 GitHub를 실무에서 어떻게 사용하는지 설명하는 책입니다. 따라서 GitHub의 기본적인 사용 방법뿐만 아니라, GitHub를 활용한 개발 진행 과정과 개발을 지원해 주는 추가적인 도구들도 함께 설명하고 있습니다.
    GitHub는 실제 개발 현장에서 일어나는 다양한 문제를 해결할 수 있는 기능을 제공하는데, 이 책에는 그런 문제 해결을 위한 기능을 실무에서 어떻게 활용하느냐에 대한 노하우가 가득 담겨 있습니다.
    여러 기업에서 GitHub로 다양한 개발 진행 과정을 개선해 왔던 저자의 풍부한 경험을 토대로 정리한 책이므로, 실무에서 GitHub를 활용하는 데 많은 도움이 될 것입니다. 또한, 최근 업데이트된 내용이나 화면도 놓치지 않고 적용하여 빠르게 변화하는 GitHub 세계를 접하는 데 한층 더 도움이 될 것입니다.

    《이 책이 필요한 경우》
    ㆍ 코드 리뷰가 충분하지 않고, 리뷰가 느리다고 생각한 경우
    ㆍ 작성한 본인밖에 모르는 코드, 불안한 느낌의 코드가 실제 환경에서 디플로이한 경우
    ㆍ 코드 입력 오류, 스스로 착각에 빠져서 잘못된 코드를 작성한 경우
    ㆍ 코드를 서로서로 리뷰하며 지식 공유, 상호 학습, 지적, 개선하는 기회가 없는 경우
    ㆍ 하루에도 여러 개의 기능을 추가할 수 있는 빠른 개발 진행 과정이 도입되지 않은 경우

    ㆍ GitHub 리포지토리
    https://github.com/jpub-gh/first-pr
    ㆍ Pull Request 테스트 사이트
    http://jpub-gh.github.io/first-pr/

    목차

    Chapter 1 GitHub 세계에 어서오세요 _ 1
    1.1 GitHub란? 2
    GitHub 회사와 octocat 2
    일반적인 Git 리포지토리 호스팅 서비스가 아니다 3
    GitHub 이용 형태 4
    Column GitHub와 Git의 차이 4
    1.2 GitHub를 사용하면 무엇이 달라질까? 4
    협업 형태 변화 5
    다른 팀이 작성하던 소프트웨어를 더 자세히 볼 수 있다 8
    공개 소프트웨어 세계와 같은 개발 스타일 10
    1.3 소셜 코딩이란? 10
    1.4 소셜 코딩을 해야 하는 이유 12
    드넓은 개발 세계 12
    코드를 작성할 수 있는 개발자 13
    GitHub의 가장 큰 특징은 ‘사람을 바라본다’는 것 13
    1.5 GitHub가 제공하는 주요한 기능 14
    Git 리포지토리 14
    Organization 15
    Issue 15
    Wiki 16
    Pull Request 16
    Column GitHub에서 주목받고 있는 소프트웨어 17
    1.6 정리 17

    Chapter 2 Git 기본 _ 19
    2.1 탄생 배경 20
    2.2 버전 관리란? 21
    집중형과 분산형 21
    집중형과 분산형 중에 어떤 것이 좋은 것일까? 23
    2.3 설치 24
    맥과 리눅스의 경우 24
    윈도우즈의 경우 24
    이 책에서 사용하는 환경 27
    2.4 기본 설정 28
    사용자 이름과 메일 주소 설정 28
    출력되는 명령어를 쉽게 읽을 수 있도록 만드는 방법 29
    2.5 정리 29

    Chapter 3 GitHub 사용 준비 _ 31
    3.1 사전 준비 32
    계정 생성 32
    계정 설정 33
    SSH Key 설정 33
    공개 키 등록 34
    소셜 기능 이용 36
    3.2 실제로 사용해 보자 36
    리포지토리 작성 36
    Column 코드를 공개할 때의 라이선스 41
    리포지토리 접근 41
    코드 공개 41
    3.3 정리 46

    Chapter 4 Git을 직접 사용하면서 배우기 _ 47
    4.1 기본적인 사용 방법 48
    git init: 리포지토리 초기화 48
    git status: 리포지토리 상태 확인 49
    git add: 스테이지 영역에 파일 추가 50
    git commit: 리포지토리 변경 내용을 기록 51
    git log: commit 확인 53
    git diff: 변경 내역 확인 55
    4.2 브랜치 생성 58
    git branch: 브랜치를 보는 방법 60
    git checkout -b: 브랜치를 만들고 변경하는 방법 61
    토픽 브랜치 63
    통합 브랜치 64
    git merge: 브랜치 merge 64
    git log --graph: 브랜치를 시각적으로 확인 66
    4.3 commit을 변경하는 조작 67
    git reset: 과거 상태로 복원 67
    충돌 문제 해결 72
    git commit --amend: commit 메시지 수정 74
    git rebase -i: 변경 내역 조작 76
    4.4 원격 리포지토리 송신 80
    git remote add: 원격 리포지토리 등록 81
    git push: 원격 리포지토리 전송 82
    4.5 원격 리포지토리에서 가져오기 84
    git clone: 원격 리포지토리를 가져오기 84
    git pull: 최신 원격 리포지토리를 가져오기 87
    4.6 Git과 관련된 추가 참고 자료 88
    4.7 정리 90

    Chapter 5 GitHub의 기능을 확실하게 알아보자 _ 91
    5.1 키보드 단축키 92
    5.2 툴바 93
    UI 구성 설명 93
    5.3 대시보드 96
    UI 구성 설명 97
    5.4 프로필 98
    UI 구성 설명 98
    5.5 리포지토리 102
    UI 구성 설명 102
    파일 관련 조작 108
    Column 파일 이름의 일부로 검색 108
    변경 내역 확인 109
    5.6 Issue 111
    다양한 요소를 삽입할 수 있는 문서 작성 방식 112
    라벨을 사용한 정리 115
    Milestones을 사용한 관리 116
    Column 공헌하기 위한 규칙을 알리자! 117
    할 일 목록 117
    commit 메시지로 Issue 조작 118
    특정 Issue를 Pull Request로 변환 119
    5.7 Pull Request 120
    Column diff 또는 patch 파일 형식 활용 121
    Conversation 122
    Column 댓글 인용 122
    Commits 123
    Column 이모티콘 자동 완성 기능 124
    Files Changed 124
    5.8 Wiki 125
    History 127
    Column Wiki에 사이드 바 생성 127
    5.9 Pulse 129
    active pull requests 130
    active issues 130
    commits 131
    Releases published 131
    Unresolved Conversations 132
    5.10 Graphs 133
    Contributors 133
    Commit Activity 134
    Code Frequency 135
    Punchcard 135
    Network 136
    members 137
    5.11 Settings 138
    Options 138
    Collaborators 140
    Webhooks & Services 142
    Deploy Keys 142
    5.12 Notifications 142
    5.13 그 외의 기능 144
    GitHub Pages 144
    GitHub Jobs 144
    GitHub Enterprise 145
    GitHub API 145
    5.14 정리 146
    Column 맥의 통지 센터로 GitHub의 Notification 확인 146

    Chapter 6 Pull Request를 해보자 _ 147
    6.1 Pull Request 개요 148
    Pull Request란? 148
    Pull Request의 흐름 148
    6.2 Pull Request 전송 준비 149
    수정할 소스 코드 확인 150
    Fork 151
    clone 151
    branch 152
    코드 추가 153
    변경 사항 commit 154
    원격 브랜치 작성 154
    6.3 Pull Request 전송 155
    6.4 Pull Request를 효과적으로 사용하는 방법 158
    개발 도중에도 토론을 위한 Pull Request를 보내세요 159
    개발 중이라는 것을 알리는 방법 159
    Fork하지 않은 브랜치에서 Pull Request 전송 160
    6.5 리포지토리 관리 161
    리포지토리 Fork, clone 162
    원본 리포지토리 이름 설정 162
    최신 데이터 획득 162
    6.6 정리 163


    Chapter 7 Pull Request가 도착한다면 _ 165
    7.1 Pull Request를 보내는 방법 166
    7.2 Pull Request를 보낼 준비 167
    코드 리뷰 167
    그림 변경 사항 확인 168
    Pull Request의 내용을 현재 개발 환경에 반영 170
    Column 코드 관리 기술을 증진시키고 싶을 때 174
    7.3 Pull Request를 보내기 174
    메인 브랜치에 merge 175
    변경 사항 push 176
    7.4 정리 177

    Chapter 8 GitHub와 연계되는 툴과 서비스 _ 179
    8.1 hub 명령어 180
    개요 180
    기본 설정 181
    명령어 183
    Column hub 명령어와 GitHub Enterprise 190
    8.2 Travis CI 190
    개요 190
    실제 사용 191
    8.3 Coveralls 196
    개요 196
    기본 설정 198
    8.4 Gemnasium 202
    8.5 Code Climate 204
    8.6 Jenkins 205
    개요 205
    설치 207
    bot 계정 작성 208
    bot 계정 권한 설정 208
    Jenkins SSH 키 설정 211
    GitHub pull request builder plugin 설치 212
    Git plugin 설정 213
    GitHub pull request builder 설정 214
    작업 생성과 설정 216
    결과 통지 219
    댓글을 활용한 관리 221
    8.7 정리 223
    Column Coderwall로 GitHub 프로필 작성 224

    Chapter 9 GitHub를 사용하는 경우의 개발 진행 과정 _ 225
    9.1 팀 내부에서 GitHub를 사용해야 할 때 고려할 것들 226
    모든 것을 간단하게! 226
    리포지토리를 Fork하지 않는 방법 228
    9.2 GitHub Flow - Deploy 중심의 개발 스타일 230
    9.3 GitHub Flow의 흐름 231
    항상 Deploy 상태를 유지, 배포라는 개념은 없다 231
    새로운 작업을 할 때는 master 브랜치에서 새로운 브랜치를 작성 232
    작성한 새로운 브랜치에 commit하자 233
    정기적으로 push하자 233
    Pull Request를 활용하자 234
    반드시 다른 개발자들에게 코드 리뷰를 받도록 하자 234
    merge 후에는 곧바로 Deploy하자 236
    9.4 GitHub Flow를 실천하기 위한 전제 조건 236
    Deploy 작업 자동화 236
    테스트 238
    9.5 GitHub Flow 따라하기 239
    Fizzbuzz 개요 239
    새로운 기능 추가 240
    새로운 브랜치 작성 241
    새로운 기능 구현 243
    Pull Request 작성 245
    피드백 246
    들여쓰기 수정 247
    테스트 추가 249
    Pull Request 추가 252
    Pull Request를 merge 253
    9.6 팀에서 GitHub Flow를 실천하려면 254
    Pull Request 크기 축소 254
    테스트 환경 준비 255
    Pull Request 피드백 256
    빠른 Pull Request 처리 257
    9.7 GitHub Flow 정리 257
    9.8 Git Flow - 배포 중심의 개발 스타일 258
    표준 개발 진행 과정 258
    복잡성 260
    9.9 Git Flow 도입을 위한 준비 260
    git-flow 설치 260
    리포지토리 초기 설정 262
    9.10 Git Flow 따라하기 264
    master 브랜치와 develop 브랜치 264
    feature 브랜치 265
    Pull Request 전송 268
    코드 리뷰를 활용한 코드 품질 향상 271
    로컬 develop 브랜치 갱신 271
    release 브랜치 실행 273
    Column 디폴트 브랜치 설정 273
    원격 리포지토리 반영 280
    hotfix 브랜치 281
    9.11 Git Flow 정리 288
    Column 버전 번호 붙이기 288

    Chapter 10 회사에서 GitHub 사용하기 _ 289
    10.1 전 세계의 표준 개발 환경을 회사에서도 사용해 봅시다 290
    회사에 GitHub를 도입하는 경우의 장점 290
    Organization 이용 291
    GitHub 보안 확인 291
    유지보수 시간 주의 292
    서비스 장애 관련 정보 확인 292
    10.2 GitHub Enterprise 295
    개요 295
    도입 장점 296
    도입 단점 296
    도입하면 좋은 경우 296
    Column GitHub 리포지토리를 서브버전 리포지토리로 이용하는 방법 297
    10.3 Git 호스팅을 수행하는 다른 소프트웨어 298
    Column Bitbucket 299
    10.4 정리 300

    APPENDIX A GitHub GUI 클라이언트 _ 301
    A.1 GitHub for Mac, GitHub for Windows 302
    A.2 Source Tree 304

    APPENDIX B 코드를 Gist로 쉽게 공유하기 _ 307
    B.1 Gist의 특징 308
    B.2 Gist 작성 309
    UI 설명 309
    B.3 Gist 목록 313
    Gist 메뉴 313
    파일 메뉴 315
    B.4 Your Gists 316
    B.5 정리 317

    찾아보기 _ 318

    본문중에서

    전 세계의 프로그램 개발 현장은 GitHub의 등장과 함께 많은 변화가 생겼습니다. 가히 혁명이 일어났다 해도 과언이 아닐 정도입니다. 이번 장에서는 아직 GitHub를 본격적으로 사용해 보지 않은 독자를 위해 일반적인 프로그램 개발에서 어떻게 GitHub를 도입하고 있는지 등을 간단히 살펴보겠습니다. _4p

    Pull Request는 GitHub에 있는 Git 리포지토리에서 변경하고 싶은 소스 코드를 주고 수정해 달라고 요청하는 기능입니다. Pull Request를 기반으로 댓글을 주고받을 수도 있습니다. ‘버그를 고쳤는데, 이렇게 수정해 주시면 안 될까요?’ 같은 댓글부터 ‘새로운 기능을 작성했는데, 이 코드를 넣어 주시면 안 될까요?’ 같은 댓글도 있습니다. 간단하게 소스 코드를 변경하고, 변경하고 싶은 기능을 넣도록 요청할 수 있습니다. 물론, 해당 소프트웨어 프로젝트의 정책에 어긋나는 변경 사항은 반영하지 않을 자유도 있습니다. _6

    Git에는 이 디렉토리 이하의 내용을 해당 리포지토리와 관련된 ‘working tree(워킹 트리)’라고 부릅니다. working tree에서는 파일 준비 등이 이루어지며, 이후에 리포지토리에 등록된 파일 변경 내역을 관리하게 됩니다. 파일을 이전 상태로 되돌리고 싶은 경우, 리포지토리로부터 이전 파일 상태를 확인하고 working tree에 전개합니다. 이러한 기능을 수행하는 명령어는 뒤에서 차근차근 설명하겠습니다. _49p

    이름, 소속, 메일 주소, 소속된 Organization 등 사용자와 관련된 기본적인 정보가 표시됩니다. 해당 사용자에게 관심이 있을 경우에는 오른쪽 상단의 Follow 버튼을 눌러 주세요. 참고로 이미 Follow하고 있는 사용자라면 해당 버튼이 Unfollow 버튼으로 되어 있을 겁니다. 이렇게 Follow 버튼을 누르면 해당 사용자의 활동 내역이 News Feed에 뜹니다. _99p

    코드가 완성되지 않았어도 토론을 위해 Pull Request를 보내는 것이 좋습니다. 어느 정도 상상할 수 있을 정도의 간단한 코드를 적어서 Pull Request하면, 주변 개발자로부터 피드백도 받을 수 있습니다. 또한, 5장의 그림 5.17에서 살펴보았던 것처럼 할 일 목록을 추가해서 어떤 식으로 개발이 진행되고 있는지도 나타낼 수 있습니다. _159p

    이번 절에서 설명하는 개발 진행 과정은 Deploy주2 중심의 개발 진행 과정입니다. 실제로 하루에 수십 번의 Deploy를 하게 되는데요. 이것이 가능해지려면 단순한 개발 진행 과정과 자동화된 환경이 있어야 합니다. 단순한 개발 진행 과정을 채용해야지만 여러 상황에 유연하게 대처할 수 있기 때문입니다. GitHub를 사용한다면 이번 개발 진행 과정을 반드시 확인합시다. _230p

    저자소개

    오오츠카 히로키 [저] 신작알림 SMS신청
    생년월일 -

    해당작가에 대한 소개가 없습니다.

    윤인성 [역] 신작알림 SMS신청
    생년월일 -

    SF 영화를 즐겨보며 그 안에서 나오는 미래적인 컴퓨터 요소에 열광하고, 어떻게 하면 그것을 구현할 수 있을지 생각하는 평범한 개발자다. 프로그래밍과 관련된 지식을 나누는 것을 좋아하여 블로그를 운영하고 있다. 어쩌다가 책을 집필/번역하기 시작해서 지금까지 계속해서 집필/번역하고 있다. 현재 직업 특성상 집에서 나갈 이유가 없다는 것에 매우 만족하고 있다. 커피와 홍차를 즐겨 마신다. 요리, 피아노, 기타, 작곡, 그림, 스컬핑 등의 취미를 가지고 있다.

    역자의 다른책

    전체보기
    펼쳐보기

    전공도서/대학교재 분야에서 많은 회원이 구매한 책

      리뷰

      0.0 (총 0건)

      100자평

      작성시 유의사항

      평점
      0/100자
      등록하기

      100자평

      4.0
      (총 0건)

      판매자정보

      • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

      상호

      (주)교보문고

      대표자명

      안병현

      사업자등록번호

      102-81-11670

      연락처

      1544-1900

      전자우편주소

      callcenter@kyobobook.co.kr

      통신판매업신고번호

      01-0653

      영업소재지

      서울특별시 종로구 종로 1(종로1가,교보빌딩)

      교환/환불

      반품/교환 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

      반품/교환가능 기간

      변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
      단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

      반품/교환 비용

      변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
      상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

      반품/교환 불가 사유

      ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
      (단지 확인을 위한 포장 훼손은 제외)

      ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 화장품, 식품, 가전제품(악세서리 포함) 등

      ·복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

      ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

      ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

      상품 품절

      공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

      소비자 피해보상
      환불지연에 따른 배상

      ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

      ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

      (주)KG이니시스 구매안전서비스서비스 가입사실 확인

      (주)인터파크커머스는 회원님들의 안전거래를 위해 구매금액, 결제수단에 상관없이 (주)인터파크커머스를 통한 모든 거래에 대하여
      (주)KG이니시스가 제공하는 구매안전서비스를 적용하고 있습니다.

      배송안내

      • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

      • 배송비는 업체 배송비 정책에 따릅니다.

      • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용