Git 교과서 : 코드 이력, 하나도 놓치지 마라!

본문 바로가기

회원메뉴

쇼핑몰 검색

통합검색

Git 교과서 : 코드 이력, 하나도 놓치지 마라!

정가
20,000 원
판매가
19,000 원    5 %↓
적립금
1,000 P
배송비
3,000 원 ( 20,000 원 이상 무료배송 )
배송일정
24시간 이내 배송 예정 배송일정안내
ISBN
9791165210885
쪽수 : 432쪽
이호진  |  길벗  |  2020년 03월 16일
소득공제 가능도서 (자세히보기)
주문수량
 
책 소개
기본기를 탄탄하게 다지는 깃(git) 입문서 도해와 실습으로 깃, 소스트리, 깃허브를 배우자! 버전 관리 시스템(VCS)은 파일의 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. VCS를 사용하면 파일이나 프로젝트를 이전 상태로 되돌릴 수 있고, 시간에 따라 수정 내용을 비교해볼 수도 있다. 또한, 문제가 있을 때 누가 만든 문제인지 알 수 있고, 파일을 분실하거나 잘못 수정했을 때 손쉽게 복구가 가능하다. 이 책은 대표적인 버전 관리 시스템인 깃의 설치부터 커밋, 브랜치, 임시 처리, 병합, 복귀, 서브모듈, 태그까지 깃 입문자가 꼭 알아야 할 내용을 설명한다. 또한, 깃 명령어와 소스트리, 깃허브를 연동해 실습하고, 필요한 내용은 도해로 살펴보면서 깃의 동작 원리를 이해할 수 있다. 이제 막 깃을 시작했거나 깃을 배우고자 하는 사람에게 추천한다.
상세이미지
저자 소개
저자 : 이호진 전기전자를 전공했으며, 마이크로프로세서, 하드웨어 설계 및 펌웨어, 로봇, 산업용 레이저 프린터, ARM 등을 개발했다. 또한, 언어 분석과 알고리즘 개발도 했다. 외국계 기업에서 리눅스 운영 체제, 백업 및 서버 가상화 등 다양한 비즈니스를 경험했고, 최근에는 웹 및 모바일 관련 개발 활동에 주력하고 있다. 오픈 소스로 jinyPHP를 개발 중이며, 후배들에게 경험과 지식을 전달하기 위해 강의와 집필 활동에 전념하고 있다.
목 차
1장 깃과 버전 관리 1.1 버전 관리 __1.1.1 버전이란? __1.1.2 버전 관리는 왜 필요할까? 1.2 버전 관리 시스템 __1.2.1 버전 관리 소프트웨어 1.3 깃 __1.3.1 백업 기능 __1.3.2 협업 개발 1.4 깃의 동작 한눈에 보기 1.5 정리 2장 깃과 소스트리 설치 및 환경 설정 2.1 깃 설치 __2.1.1 윈도에서 설치 __2.1.2 리눅스에서 설치 __2.1.3 macOS에서 설치 2.2 소스트리 설치 __2.2.1 설치 파일 내려받기 __2.2.2 설치 2.3 첫 번째 깃 실행 __2.3.1 터미널 __2.3.2 깃 명령어로 실행 __2.3.3 소스트리로 실행 2.4 환경 설정 __2.4.1 config 명령어 __2.4.2 로컬 사용자 __2.4.3 글로벌 사용자(추천) __2.4.4 환경 설정 파일 확인 및 직접 수정 __2.4.5 소스트리의 환경 설정 __2.4.6 별칭 2.5 비주얼 스튜디오 코드 2.6 정리 3장 깃 개념 잡기 3.1 깃 저장소 생성 __3.1.1 폴더와 깃 저장소 __3.1.2 초기화 __3.1.3 숨겨진 폴더 = .git 폴더 __3.1.4 소스트리와 연결 3.2 워킹 디렉터리 __3.2.1 워킹 디렉터리란? __3.2.2 파일의 untracked 상태와 tracked 상태 3.3 스테이지 __3.3.1 스테이지 = 임시 영역 __3.3.2 파일의 stage 상태와 unstage 상태 __3.3.3 파일의 modified 상태와 unmodified 상태 3.4 파일의 상태 확인 __3.4.1 status 명령어로 깃 상태 확인 __3.4.2 소스트리에서 깃 상태 확인 3.5 파일 관리 목록에서 제외: .gitignore __3.5.1 .gitignore 파일 __3.5.2 .gitignore 파일 표기법 3.6 깃 저장소 복제 __3.6.1 공개 저장소 __3.6.2 다운로드 vs 복제 __3.6.3 복제 명령어 3.7 정리 4장 커밋 4.1 코드의 변화 __4.1.1 파일 관리 방법 4.2 새 파일 생성 및 감지 __4.2.1 새 파일 생성 __4.2.2 깃에서 새 파일 생성 확인 __4.2.3 소스트리에서 새 파일 감지 4.3 깃에 새 파일 등록 __4.3.1 스테이지에 등록 __4.3.2 파일의 추적 상태 확인 __4.3.3 파일 등록 취소 __4.3.4 등록된 파일 이름이 변경되었을 때 4.4 첫 번째 커밋 __4.4.1 HEAD __4.4.2 스냅샷 __4.4.3 파일 상태와 커밋 4.5 커밋 확인 __4.5.1 스테이지 초기화 __4.5.2 로그 기록 확인 __4.5.3 소스트리에서 로그 기록 확인 4.6 두 번째 커밋 __4.6.1 파일 수정 __4.6.2 파일 변경 사항 확인 __4.6.3 수정된 파일 되돌리기 __4.6.4 스테이지에 등록 __4.6.5 두 번째 커밋 __4.6.6 두 번째 커밋 확인 __4.6.7 깃허브에서 확인 4.7 메시지가 없는 빈 커밋 __4.7.1 세 번째 커밋 __4.7.2 소스트리에서 빈 커밋 __4.7.3 빈 커밋 확인 4.8 커밋 아이디 __4.8.1 SHA1 __4.8.2 단축키 4.9 커밋 로그 __4.9.1 간략 로그 __4.9.2 특정 파일의 로그 4.10 diff 명령어 __4.10.1 파일 간 차이 __4.10.2 워킹 디렉터리 vs 스테이지 영역 __4.10.3 커밋 간 차이 __4.10.4 소스트리에서 간단하게 변경 이력 확인 __4.10.5 diff 내용을 추가하여 커밋 4.11 정리 5장 서버 5.1 서버 저장소 __5.1.1 협업 저장소 __5.1.2 연속된 작업 __5.1.3 새 멤버 5.2 깃허브 서버 준비 __5.2.1 깃허브 __5.2.2 저장소 생성 5.3 깃허브 연동 및 원격 등록 __5.3.1 로컬 저장소 __5.3.2 프로토콜 __5.3.3 원격 저장소의 리모트 목록 관리 __5.3.4 주소와 별칭 __5.3.5 원격 저장소에 연결 __5.3.6 소스트리에서 원격 브랜치 __5.3.7 별칭 이름 변경과 정보 __5.3.8 원격 서버 삭제 5.4 서버 전송 __5.4.1 push: 서버에 전송 5.5 자동으로 내려받기 __5.5.1 clone: 복제 __5.5.2 pull: 서버에서 내려받기 5.6 수동으로 내려받기 __5.6.1 자동 병합 __5.6.2 fetch: 가져오기 __5.6.3 merge 명령어로 수동 병합 5.7 순서 __5.7.1 최신 상태 __5.7.2 충돌 방지 5.8 정리 6장 브랜치 6.1 새로운 작업 __6.1.1 브랜치 작업 __6.1.2 깃 브랜치 특징 6.2 실습 준비 __6.2.1 저장소 생성 및 초기화 __6.2.2 기본 브랜치 6.3 브랜치 생성 __6.3.1 브랜치 생성 __6.3.2 브랜치 이름 __6.3.3 소스트리 브랜치 6.4 브랜치 확인 __6.4.1 간단 브랜치 목록 __6.4.2 브랜치 해시 __6.4.3 브랜치 세부 사항 확인 6.5 브랜치 이동 __6.5.1 체크아웃 __6.5.2 브랜치 동작 원리 __6.5.3 소스트리 __6.5.4 이전 브랜치 __6.5.5 워킹 디렉터리 정리 6.6 브랜치 공간 __6.6.1 브랜치 로그 __6.6.2 브랜치 소스 확인 6.7 HEAD 포인터 __6.7.1 마지막 커밋 __6.7.2 브랜치 HEAD __6.7.3 소스트리 HEAD __6.7.4 상대적 위치 __6.7.5 AHEAD, BHEAD 6.8 생성과 이동 __6.8.1 자동 이동 옵션 __6.8.2 커밋 이동 __6.8.3 HEAD를 활용한 이동 __6.8.4 돌아오기 6.9 원격 브랜치 __6.9.1 리모트 브랜치 __6.9.2 실습 준비 __6.9.3 브랜치 추적 __6.9.4 브랜치 업로드 __6.9.5 이름이 다른 브랜치 __6.9.6 업스트림 트래킹 __6.9.7 원격 브랜치 복사 __6.9.8 업스트림 연결 6.10 브랜치 전송 __6.10.1 브랜치 푸시 __6.10.2 브랜치 페치 6.11 브랜치 삭제 __6.11.1 일반적인 삭제 방법 __6.11.2 강제로 삭제하는 방법 __6.11.3 소스트리에서 삭제하는 방법 __6.11.4 리모트 브랜치를 삭제하는 방법 6.12 정리 7장 임시 처리 7.1 스태시 __7.1.1 기존 작업 도중에 새로운 변경 요청 __7.1.2 새 코드 작성 중 기존 코드를 수정 __7.1.3 스태시의 임시 스택 영역에 작업 중인 코드 저장 __7.1.4 임시 저장 영역의 스택 목록 __7.1.5 임시 저장한 스태시 불러오기 __7.1.6 스태시 복원으로 충돌 __7.1.7 스태시 복사 __7.1.8 스태시 삭제 __7.1.9 소스트리에서 스태시 사용 7.2 워킹 디렉터리 청소 7.3 정리 8장 병합과 충돌 8.1 병합 __8.1.1 하나씩 직접 비교하는 수동 병합 __8.1.2 깃으로 자동 병합 __8.1.3 병합 방식 8.2 Fast-Forward 병합 __8.2.1 브랜치 생성과 수정 작업 __8.2.2 병합 위치 __8.2.3 Fast-Forward 병합 적용 8.3 3-way 병합 __8.3.1 브랜치 생성과 수정 작업 __8.3.2 마스터 변경 __8.3.3 공통 조상 __8.3.4 병합 커밋 __8.3.5 병합 메시지 8.4 브랜치 삭제 __8.4.1 병합 후 삭제 8.5 충돌 __8.5.1 충돌이 생기는 상황 __8.5.2 실습을 위한 충돌 만들기 __8.5.3 수동으로 충돌 해결 __8.5.4 소스트리에서 충돌 해결 8.6 브랜치 병합 여부 확인 8.7 리베이스 __8.7.1 베이스 __8.7.2 베이스 변경 __8.7.3 리베이스 vs 병합 __8.7.4 리베이스 명령어 __8.7.5 리베이스 병합 __8.7.6 리베이스되었는지 확인 __8.7.7 리베이스 후 브랜치 __8.7.8 리베이스 충돌과 해결 __8.7.9 rebase 명령어로 커밋 수정 __8.7.10 리베이스할 때 주의할 점 8.8 정리 9장 복귀 9.1 되돌리기 __9.1.1 다시 시작 9.2 리셋 __9.2.1 복귀 시점 __9.2.2 reset 명령어 __9.2.3 soft 옵션 __9.2.4 mixed 옵션 __9.2.5 hard 옵션 __9.2.6 소스트리 __9.2.7 커밋 합치기 __9.2.8 스테이지 리셋 __9.2.9 작업 취소 __9.2.10 병합 취소 __9.2.11 주의할 점 9.3 리버트 __9.3.1 취소 커밋 __9.3.2 리버트 지정 __9.3.3 소스트리에서 리버트 __9.3.4 병합 취소 __9.3.5 리버트 히스토리 9.4 정리 10장 배포 관리와 태그 10.1 배포 10.2 버전 10.3 태그 10.4 태그 목록 10.5 Annotated 태그 __10.5.1 태그 생성 __10.5.2 간단한 메시지 __10.5.3 소스트리에서 태그 생성 __10.5.4 태그는 중복해서 생성할 수 없다 __10.5.5 태그 삭제 __10.5.6 태그의 상세 정보 확인: show 명령어 10.6 Lightweight 태그 __10.6.1 체크섬 __10.6.2 태그의 상세 정보 확인 10.7 특정 커밋 태그 __10.7.1 소스트리에서 특정 커밋 지정 10.8 태그를 사용한 체크아웃 __10.8.1 태그 브랜치 10.9 태그 공유 __10.9.1 원격 저장소 생성 __10.9.2 태그 동기화 __10.9.3 전체 태그 동기화 __10.9.4 원격 저장소의 태그 수정과 삭제 __10.9.5 원격 저장소에 로컬과 다른 이름으로 태그 전송 10.10 정리 11장 서브모듈 11.1 대형 프로젝트 __11.1.1 저장 용량 __11.1.2 저장소 분리 __11.1.3 상하 관계 11.2 실습을 위한 저장소 준비 __11.2.1 메인 저장소 생성 __11.2.2 자식 저장소 생성 11.3 서브모듈 추가 __11.3.1 저장소 연결 __11.3.2 설정 파일 __11.3.3 모듈 커밋 11.4 서브모듈 작업 __11.4.1 모듈 저장소 __11.4.2 모듈 상태 __11.4.3 모듈 커밋 __11.4.4 부모 커밋 11.5 자식 저장소 갱신 __11.5.1 자식 저장소 __11.5.2 자식 저장소 갱신 __11.5.3 자식 저장소 작업 __11.5.4 부모 저장소 적용 __11.5.5 부모 저장소 갱신 11.6 부모 저장소 복제 __11.6.1 부모 저장소 복제 __11.6.2 모듈 업데이트 11.7 부모 저장소 업데이트 __11.7.1 부모 업데이트 __11.7.2 부모 저장소로 풀 11.8 정리 12장 고급 기능 12.1 refs __12.1.1 실습 환경 준비 __12.1.2 해시 __12.1.3 역조회 __12.1.4 참조 목록 12.2 reflog __12.2.1 참조 기록 __12.2.2 기록 확인 __12.2.3 기간 확인 __12.2.4 기록 유지 12.3 파일 애너테이션 __12.3.1 blame __12.3.2 실습 환경 준비 __12.3.3 blame 명령어 __12.3.4 옵션 활용 12.4 replace __12.4.1 실습 환경 준비 __12.4.2 저장소 분리 __12.4.3 저장소 분리 __12.4.4 저장소 연결 12.5 가비지 콜렉트 __12.5.1 가비지 __12.5.2 압축 관리 __12.5.3 실행 __12.5.4 refs 압축 __12.5.5 환경 설정 12.6 prune __12.6.1 고립된 객체 __12.6.2 실습 환경 준비 __12.6.3 객체 삭제 __12.6.4 객체 정리 __12.6.5 원격 작업 12.7 rerere __12.7.1 동일한 충돌 __12.7.2 활성화 __12.7.3 실습 준비 __12.7.4 충돌 및 기록 __12.7.5 자동 해결 12.8 정리 자주 사용하는 명령어 모음
출판사 서평
독립 프로젝트에서 팀 프로젝트까지 버전 관리로 안전하게 개발한다! 왜 버전 관리 시스템인가? 버전 관리 시스템(VCS)은 파일의 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. VCS를 사용하면 파일이나 프로젝트를 이전 상태로 되돌릴 수 있고, 시간에 따라 수정 내용을 비교해볼 수도 있다. 또한, 문제가 있을 때 누가 언제 만든 문제인지도 알 수 있다. 특히 파일을 분실하거나 잘못 수정했을 때 손쉽게 복구가 가능하다는 것이 가장 큰 장점이다. 대표적인 버전 관리 시스템인 깃을 사용해 손쉽게 버전을 관리해보자. 원리를 알고 더 효율적으로 사용하자 깃은 크게 워킹 디렉터리, 스테이지 영역, 저장소로 구분할 수 있다. 워킹 디렉터리는 ‘작업하는 공간’, 스테이지 영역은 ‘임시로 저장하는 공간’, 저장소는 ‘실제로 저장해 기록하는 공간’을 의미한다. 또한, tracked, stage, modified와 같은 상황별 파일의 상태도 잘 구분해야 한다. 이러한 개념들을 잘 표현한 140개 도해와 단계별 실습으로 깃 저장소의 동작 원리를 이해하고, 깃을 좀 더 효율적으로 사용할 수 있다. 깃, 깃허브, 소스트리로 직접 실행하며 이해하자 설치부터 커밋, 브랜치, 임시 처리, 병합, 복귀, 서브모듈, 태그까지 ‘퀵 가이드’로 동작 흐름을 미리 살펴본 후 이 흐름에 맞춰 모든 내용을 단계별로 실습해볼 수 있다. 깃 명령어와 소스트리, 깃허브를 사용해 직접 실습하면서 책에서 설명한 내용을 확실하게 이해해보자.
고객 리뷰
평점 리뷰제목 작성자 작성일 내용보기

아직 작성된 리뷰가 없습니다.

반품/교환
· 회사명 : 북앤북스문고   · 주소 : 제주특별자치도 제주시 1100로 3308 B1  
· 대표자 : 김대철   · 사업자 등록번호 : 661-10-02383  
· 통신판매업신고번호 : 2023-제주노형-0169   · 개인정보 보호책임자 : 최재혁  

고객센터

(평일 09:30~17:30)
(점심 12:00~13:00)
· 전화 : 064)725-7279 (발신자 부담)
    064)757-7279 (발신자 부담)
· 팩스 : 064)759-7279
· E-Mail : bookpani@naver.com
Copyright © 2019 북앤북스문고. All Rights Reserved.