logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

분산 버전 관리 Git 사용설명서

분산 버전 관리 Git 사용설명서

(제2판, 협업 소프트웨어 개발을 위한 강력한 도구와 기술)

존 롤리거, 매튜 맥컬러프 (지은이), 윤순백 (옮긴이)
제이펍
30,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

분산 버전 관리 Git 사용설명서
eBook 미리보기

책 정보

· 제목 : 분산 버전 관리 Git 사용설명서 (제2판, 협업 소프트웨어 개발을 위한 강력한 도구와 기술)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
· ISBN : 9788994506814
· 쪽수 : 552쪽
· 출판일 : 2013-11-30

책 소개

Git을 통해 코드 개정판을 추적, 분기, 병합 및 관리하는 방법에 대해 설명한다. 단계별로 구성된 튜토리얼을 통해 Git의 기초부터 고급 기술까지 친절하게 안내할 뿐만 아니라 오픈 소스 버전 관리 시스템인 Git의 다양한 기능에 대해서도 소개하고 있다.

목차

CHAPTER 1 소개
배경 1
Git의 탄생 2
전례 5
타임라인 7
이름의 의미 8

CHAPTER 2 Git 설치하기
리눅스 바이너리 배포판 사용하기 9
데비안/우분투 9
기타 바이너리 배포판 11
소스 릴리스 얻기 12
빌드와 설치 13
윈도우즈에서 Git 설치하기 15
시그윈 Git 패키지 설치하기 15
독립형 Git 설치하기 17

CHAPTER 3 시작하기
Git 명령행 21
간단한 Git 사용법 24
첫 저장소 만들기 24
저장소에 파일 추가하기 25
커밋 작성자 구성하기 27
또 다른 커밋하기 27
커밋 보기 28
커밋 차이점 보기 30
저장소에 있는 파일을 제거하고 이름 바꾸기 31
저장소 복사본 만들기 32
구성 파일 33
별칭 구성하기 35
질문 36

CHAPTER 4 Git의 기본 개념
기본 개념 37
저장소 37
Git 객체 유형 38
인덱스 39
콘텐츠 주소화 이름 40
Git은 콘텐츠를 추적한다 40
경로 이름과 콘텐츠 42
팩 파일 43
객체 저장소 그림 44
주요 Git 개념 46
.git 디렉터리 내부 46
객체, 해시 및 blob 48
파일과 트리 49
Git에서의 SHA1 사용 50
트리 계층 구조 52
커밋 53
태그 55

CHAPTER 5 파일 관리와 인덱스
인덱스의 모든 것 58
Git의 파일 분류 59
git add 사용하기 61
git commit 명령 사용하기 64
git commit --all 사용하기 64
커밋 로그 메시지 작성하기 66
git rm 사용하기 66
git mv 사용하기 69
이름 변경 추적하기 71
.gitignore 파일 72
Git의 객체 모델과 파일에 대한 자세한 설명 74

CHAPTER 6 커밋
원자적 변경 세트 80
커밋 식별하기 81
절대적 커밋 이름 82
참조와 심볼릭 참조 83
상대적 커밋 이름 85
커밋 히스토리 87
기존 커밋 보기 87
커밋 그래프 90
커밋 범위 95
커밋 찾기 100
git bisect 사용하기 100
git blame 사용하기 106
Pickaxe 사용하기 107

CHAPTER 7 브랜치
브랜치를 사용하는 이유 109
브랜치 이름 111
브랜치 이름의 규칙 111
브랜치 사용하기 112
브랜치 만들기 114
브랜치 이름 나열하기 115
브랜치 보기 116
브랜치 체크아웃하기 119
브랜치 체크아웃에 대한 기본 예제 119
커밋되지 않은 변경 사항이 있는 상황에서의 체크아웃 120
변경 사항을 다른 브랜치로 병합하기 122
새 브랜치를 만들고 체크아웃하기 124
독립된 HEAD 브랜치 125
브랜치 삭제하기 127

CHAPTER 8 Diff
git diff 명령의 형식 133
간단한 git diff 예제 137
git diff와 커밋 범위 141
git diff에서 경로 제한하기 144
서브버전과 Git의 차이점 검색 방법 비교 147

CHAPTER 9 병합
병합 예제 150
병합 준비하기 150
두 브랜치 병합하기 150
충돌이 있는 병합 153
병합 충돌 처리하기 158
충돌이 발생한 파일 찾기 159
충돌 조사하기 160
Git에서 충돌을 추적하는 방법 165
충돌 해결 마무리하기 167
병합 취소 또는 다시 시작하기 169
병합 전략 170
퇴화 병합 173
일반 병합 175
특수 병합 177
병합 전략 적용하기 177
병합 드라이버 179
Git 병합의 특징 180
병합과 Git의 객체 모델 180
스쿼시 병합 182
변경 사항을 하나씩 병합하지 않는 이유 183

CHAPTER 10 커밋 수정하기
히스토리 수정과 관련된 주의 사항 187
git reset 사용하기 188
git cherry-pick 사용하기 198
git revert 사용하기 200
reset, revert 및 checkout 201
최상위 커밋 변경하기 203
커밋 리베이스하기 206
git rebase -i 사용하기 209
리베이스 VS 병합 214

CHAPTER 11 Stash와 Reflog
Stash 221
Reflog 232

CHAPTER 12 원격 저장소
저장소 개념 240
베어 및 개발 저장소 240
저장소 복제 242
원격 저장소 243
브랜치 추적하기 244
다른 저장소 참조하기 245
원격 저장소 참조하기 246
refspec 248
원격 저장소 사용 예제 251
권한이 있는 저장소 만들기 251
고유한 원본 리모트 만들기 253
로컬 저장소에서 개발하기 256
변경 사항 푸시하기 256
새 개발자 추가하기 258
저장소 업데이트 가져오기 260
그림으로 보는 원격 저장소 개발 주기 266
저장소 복제하기 266
대체 히스토리 268
논패스트포워드 푸시 269
대체 히스토리 가져오기 270
히스토리 병합하기 271
병합 충돌 272
병합된 히스토리 넣기 273
원격 구성 274
git remote 사용하기 274
git config 사용하기 276
수동 편집 사용하기 277
추적 브랜치 작업하기 277
추적 브랜치 만들기 277
전후 관계 281
원격 브랜치 추가 및 삭제하기 282
베어 저장소와 git push 284

CHAPTER 13 저장소 관리
서버의 의미 287
저장소 게시하기 288
액세스 권한 제한이 있는 저장소 289
익명 읽기 권한이 있는 저장소 290
익명 쓰기 권한이 있는 저장소 295
GitHub에 저장소 게시하기 295
저장소 게시에 관한 조언 297
저장소 구조 298
공유 저장소 구조 298
분산 저장소 구조 299
저장소 구조 예제 300
분산 개발 환경의 특성 303
공용 히스토리 변경하기 303
분리된 커밋 및 게시 단계 304
분산 환경에서의 진짜 히스토리 304
위치 파악하기 306
업스트림과 다운스트림 306
관리자와 개발자의 역할 307
관리자와 개발자의 상호 작용 308
역할 이중성 309
여러 저장소 이용하기 311
사용자의 작업 공간 311
시작 위치 선택 311
다른 업스트림 저장소로 변환하기 312
여러 업스트림 저장소 사용하기 314
프로젝트 포크하기 317

CHAPTER 14 패치
왜 패치를 사용해야 하는가? 322
패치 생성하기 323
패치와 위상 정렬 333
패치 이메일 보내기 334
패치 적용하기 337
나쁜 패치 346
패치와 병합 비교 346

CHAPTER 15 후크
후크 설치하기 349
예제 후크 350
첫 번째 후크 만들기 351
사용 가능한 후크 354
커밋 관련 후크 354
패치 관련 후크 355
푸시 관련 후크 356
기타 로컬 저장소 후크 358

CHAPTER 16 프로젝트 결합하기
기존 해결책: 부분 체크아웃 360
확실한 해결책: 사용자의 프로젝트로 코드 가져오기 362
복사를 통해 하위 프로젝트 가져오기 364
git pull -s subtree 명령으로 하위 프로젝트 가져오기 364
업스트림에 변경 사항 제출하기 370
자동화된 해결책: 사용자 정의 스크립트로 하위 프로젝트 체크아웃하기 370
네이티브 해결책: gitlinks와 git submodule 372
Gitlink 373
git submodule 명령 376

CHAPTER 17 하위 모듈 모범 사례
Submodule 명령 382
하위 모듈을 사용하는 이유 383
하위 모듈 준비 384
왜 읽기 전용인가? 385
왜 읽기 전용이 아닌가? 386
하위 모듈 커밋의 해시 조사하기 386
자격 증명 재사용 387
유스 케이스 388
저장소의 다중 중첩 389
하위 모듈에 대한 전망 389

CHAPTER 18 SVN 저장소와 함께 Git 사용하기
예제: 간단한 단일 브랜치 복제본 391
Git에서 변경 사항 적용하기 395
커밋 전에 가져오기 396
git svn rebase를 통해 커밋하기 398
git svn 명령을 이용한 푸시, 풀, 분기 및 병합 399
커밋 ID를 선형으로 유지하기 400
모든 브랜치 복제하기 402
저장소 공유하기 404
SVN에 다시 병합하기 406
SVN 작업에 관한 기타 사항 408
svn:ignore와 .gitignore 비교 408
git-svn 캐시 재생성하기 408

CHAPTER 19 고급 작업
git filter-branch 사용하기 411
git filter-branch 사용 예제 414
filter-branch 적용 범위 421
사랑스러운 git rev-list 421
날짜 기반 체크아웃 422
파일의 구버전 가져오기 425
대화식 헝크 스테이징 428
손실된 커밋 복구하기 441
git fsck 명령 441
손실된 커밋 다시 연결하기 446

CHAPTER 20 여러 가지 팁과 기술
어지러운 작업 디렉터리에 대한 대화식 리베이스 449
필요 없는 편집기 파일 제거하기 451
가비지 컬렉션 451
저장소 분리하기 453
커밋 복구를 위한 팁 454
서브버전 변환 팁 455
일반적인 조언 455
SVN 가져오기 후 트렁크 제거하기 456
SVN 커밋 ID 제거하기 457
두 저장소의 브랜치 조작하기 458
업스트림 리베이스에서 복구하기 458
고유한 Git 명령 만들기 460
변경 사항에 대한 빠른 개요 461
정리하기 462
git-grep 명령으로 저장소 검색하기 463
참조 업데이트 및 삭제 465
옮겨진 파일 따라가기 466
현재 파일을 추적하지 않고 유지하기 467
반복되는 작업의 자동화 468

CHAPTER 21 Git과 GitHub
공용 코드를 위한 저장소 472
GitHub 저장소 만들기 475
오픈 소스의 소셜 코딩 477
와처 478
뉴스 피드 479
포크 480
풀 요청 생성하기 482
풀 요청 관리하기 484
통지 487
사용자, 프로젝트 및 코드 찾기 490
위키 491
GitHub 페이지(웹 사이트용 Git) 492
인페이지 코드 편집기 495
서브버전 브리지 496
아카이브로 자동 전환되는 태그 498
조직 499
REST API 500
폐쇄적 조직에서의 소셜 코딩 502
최종 단계에서의 오픈 소싱 502
코딩 모델 503
GitHub 엔터프라이즈 506
GitHub 요약 507

저자소개

존 롤리거 (지은이)    정보 더보기
Git, Linux 및 U-Boot 등의 다양한 오픈 소스 프로젝트에 참여하고 있는 프리랜서 소프트웨어 엔지니어로서 Linux World 같은 여러 컨퍼런스에서 Git 튜토리얼을 소개하고, Linux Magazine에 Git과 관련된 여러 편의 글을 기고하고 있다. 그는 퍼듀대학교에서 컴퓨터 과학을 전공했으며, 여러 해 동안 최적화 컴파일러, 라우터 프로토콜, 리눅스 포팅 및 간단한 게임을 개발한 경력도 있다. 여유가 있을 때는 취미로 와인을 만들기도 한다.
펼치기
매튜 맥컬러프 (지은이)    정보 더보기
엔터프라이즈 소프트웨어 개발 분야의 15년차 베테랑으로서, 현재 GitHub Inc.에서 교육 부문 부사장을 맡고 있다. 소프트웨어 분야에서 좀 더 창의적으로 협력할 수 있게 지원하는 역할을 맡고 있다. 과거 US 컨설팅 회사를 공동 창립한 경험 덕에 전 세계를 돌아다니며 오픈소스 교육을 진행하고 수많은 기업과 콘퍼런스 기획자, 친구들의 도움을 받았다. Gradle, Jenkins, Git 책을 함께 썼으며, O'Reilly의 Git Master Class를 만들었다. 또한 No Fluff, Just Stuff 콘퍼런스 투어의 연사이자 DZone RefCards 톱 10 중 세 개의 저자이며, Denver Open Source Users Group의 대표를 자원해서 맡고 있다. 메일(matthewm@ambientideas.com) 또는 트위터(@matthewmccull)로 연락할 수 있다.
펼치기
윤순백 (옮긴이)    정보 더보기
아주대학교에서 정보 및 컴퓨터 공학을 전공하였고, (주)프로랭스에서 3년 동안 소프트웨어 현지화 전문가로 활동했다. 이후 IT 분야 전문 프리랜서 번역가로 활발하게 활동하고 있다. 대표적인 번역물로 오픈 소스 개발자를 위한 사이트인 IBM developerWorks의 수백 편의 아티클과 수십 편의 튜토리얼이 있다. 옮긴 책으로는 《레시피로 배우는 아두이노 쿡북(제2판)》, 《렛츠 고! 플렉스 프로그래밍》이 있다.
펼치기

책속에서

일반적으로 텍스트 및 코드 프로젝트에 관한 백업 전략에는 버전 관리 기능이나 개정 사항 추적
및 관리 기능이 포함되어 있다. 수많은 개발자가 날마다 수많은 개정 작업을 수행하고 있기 때문에 데이터 또한 끊임없이 증가하고 있다. 그리고 이러한 데이터는 저장소, 프로젝트 설명, 통신 매체 그리고 팀 및 제품 관리 도구에 동시에 제공된다. 이러한 상황에서 중추적인 역할을 수행하는 버전 관리는 프로젝트 팀의 작업 스타일과 목표에 잘 맞춰졌을 때 가장 효과적이다.


Git은 분산 버전 관리 시스템(DVCS, Distributed Version Control System)이다. 예를 들어, 일본에 있는 개발자와 뉴저지에 있는 개발자가 개별적으로 변경 사항을 만들고 기록할 수 있으며, 두 개발자가 중앙 저장소 없이도 자신들의 변경 사항을 언제라도 결합할 수 있다. 이 장에서는 두 개 이상의 개발 라인을 결합하는 방법을 살펴볼 것이다.


일상적으로 발생하는 인터럽트, 수시로 요구되는 버그 수정 또는 동료나 상사의 요청으로 인해 정작 해야 할 작업을 제때에 처리하지 못해서 엉망이 되어 간다는 느낌을 받고 있다면 stash가 큰 도움이 될 것이다. 진행 중인 작업을 캡처하는 기능을 제공하는 stash 명령을 사용하면 작업을 저장한 후 나중에 편할 때 해당 작업을 손쉽게 재개할 수 있다. 물론, Git의 기존 브랜치 및 커밋 메커니즘을 통해서도 가능한 일이기는 하지만, stash 명령을 사용하면 한 번의 간단한 명령으로 인덱스와 작업 디렉터리 전체를 완벽하게 캡처할 수 있기 때문에 훨씬 더 쉽고 빠르게 처리할 수 있다. 그리고 대체 개발에 활용할 수 있도록 저장소가 깔끔하게 정리된다.


이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책