본문내용 바로가기
무료배송 소득공제

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

이호진 지음 | 길벗 | 2020년 03월 16일 출간

이 책의 다른 상품 정보

  • 정가 : 20,000원
    판매가 : 18,000 [10%↓ 2,000원 할인]
  • 통합포인트 :
    [기본적립] 1,000원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2천원 추가적립 안내 [회원혜택] 실버등급 이상, 3만원 이상 구매 시 2~4% 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    지금 주문하면 내일(11일,토) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기
상품상세정보
ISBN 9791165210885(1165210886)
쪽수 432쪽
크기 184 * 236 * 22 mm /770g 판형알림

책소개

이 책이 속한 분야

기본기를 탄탄하게 다지는 깃(git) 입문서
도해와 실습으로 깃, 소스트리, 깃허브를 배우자!

버전 관리 시스템(VCS)은 파일의 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. VCS를 사용하면 파일이나 프로젝트를 이전 상태로 되돌릴 수 있고, 시간에 따라 수정 내용을 비교해볼 수도 있다. 또한, 문제가 있을 때 누가 만든 문제인지 알 수 있고, 파일을 분실하거나 잘못 수정했을 때 손쉽게 복구가 가능하다. 이 책은 대표적인 버전 관리 시스템인 깃의 설치부터 커밋, 브랜치, 임시 처리, 병합, 복귀, 서브모듈, 태그까지 깃 입문자가 꼭 알아야 할 내용을 설명한다. 또한, 깃 명령어와 소스트리, 깃허브를 연동해 실습하고, 필요한 내용은 도해로 살펴보면서 깃의 동작 원리를 이해할 수 있다. 이제 막 깃을 시작했거나 깃을 배우고자 하는 사람에게 추천한다.

상세이미지

Git 교과서 도서 상세이미지

저자소개

저자가 속한 분야

전기전자를 전공했으며, 마이크로프로세서, 하드웨어 설계 및 펌웨어, 로봇, 산업용 레이저 프린터, 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)입니다.
독자 여러분은 아마 깃(Git)과 깃허브(GitHub)라는 단어를 들어 보았을 것입니다. ... 더보기

출판사 서평

독립 프로젝트에서 팀 프로젝트까지
버전 관리로 안전하게 개발한다!

왜 버전 관리 시스템인가?
버전 관리 시스템(VCS)은 파일의 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. VCS를 사용하면 파일이나 프로젝트를 이전 상태로 되돌릴 수 있고, 시간에 따라 수정 내용을 비교해볼 수도 있다. 또한, 문제가 있을 때 누가 언제 만든 문제인지도 알 수 있다. 특히 파일을 분실하거나 잘못 수정했을 때 손쉽게 복구가 가능하다는 것이 가장 큰 장점이다. 대표적인 버전 관리 시스템인 깃을 사용... 더보기

북로그 리뷰 (3) 전체보기 쓰러가기

도서 구매 후 리뷰를 작성하시면
결제 90일 이내 300원, 발송 후 5일 이내 400원, 이 상품의 첫 리뷰 500원의 포인트를 드립니다.

포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
북로그 리뷰는 본인인증을 거친 회원만 작성 가능합니다.
(※ 외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외) 안내
  •   https://koreadailylife.tistory.com/540?category=904352   프로그래머의 기본 버전관리   길벗 출판사에서 출판중인 "Git 교과서" 라는 책이다. 새로 나오는 책 중에 가장 괜찮은 주제인것 같아서 읽어 보았다.   지난번에 읽었던 "머신러닝 교과서"는 정말 말그대로 교과서의 역할을 지향했다면 이 책은 조금 더 친밀한 느낌? 가벼운 느낌이다. 친구가 알려주는 그런느... 더보기
  • 수많은 기술 서적을 보다 보면 중간중간 건너뛰어 예제를 보여주기도 하고, 이정도는 독자가 알겠거니 여겨서 넘기는 부분들이 존재한다. 이상한 기술 서적들은 설명이 귀찮은건지, 독자 선정이 잘못된건지 모를 정도로 그 빈도가 높은 책들이 있다. Git 교과서는 정반대다. Git 교과서의 경우 한 단계, 한 단계 씩 전부 예제를 풀어서 보여주기 때문에 Git을 처음 접하거나, 잘 알지 못하는 사람들이 기본기를 익힐 수 있는 책이다. 지은이의 말에서 이야기 하였듯이 기본적인 독자 선정을 Git 입문자로 잡았기 때문에 최대한 자세하게 풀어서 ... 더보기
  • [리뷰]Git 교과서 le**k555 | 2020-04-02 | 추천: 0 | 5점 만점에 5점
    [한줄평] 버전 관리 시스템을 이제 Git으로 하고 싶다면 바로 Git 교과서 입니다. [목차구성] 1장 깃과 버전 관리 2장 깃과 소스트리 설치 및 환경 설정 3장 깃 개념 잡기 4장 커밋 5장 서버 6장 브랜치 7장 임시 처리 8장 병합과 충돌 9장 복귀 10장 배포 관리와 태그 11장 서... 더보기

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기+

이 분야의 신간

  • NCS 정보처리기술사 연구회
    27,000원
  • 김황후
    28,800원
  • 정혜정
    31,500원
  • 이미준
    20,700원
  • 강중빈
    40,500원
더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품