이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
1장 실습 환경 구축하기
1 Git / 소스트리 설치하기 1.1 Git for windows 1.2 소스트리 2 계산기 프로그램 개발 환경 구축하기 2.1 파이썬과 pip 2.2 PyQt5 2.3 VS Code 3 Github 가입하기 3.1 Github 계정 생성 2장 소스트리로 Git 체험하기 1 저장소 생성하기 1.1 원격저장소 생성하기 1.2 로컬저장소 생성하기 2 로컬저장소에서 이력 관리하기 2.1 파일 수정 내용 기록하기 2.2 새로운 파일 추가하고 기록하기 3 로컬저장소와 원격저장소의 내용 일치시키기 3.1 로컬저장소의 내용을 원격저장소로 업로드 : Push 3.2 원격저장소의 내용을 로컬저장소로 다운로드 : Pull 4 정리 3장 Git의 동작 개념 1. Git의 3가지 작업 영역 2. Git이 관리하는 3가지 파일 상태 3. 정리 4장 Git 기본 명령어 1 저장소 생성하기 1.1 빈 저장소 생성하기 1.2 사용자 정보 설정하기 1.3 정리 2 add와 commit : 개발 이력 기록하기 2.1 프로그램 작성하기 2.2 첫 번째 이력 저장하기 2.3 두 번째 이력 저장하기 2.4 세 번째 이력 저장하기 2.5 정리 3 status, log, 그리고 show : 저장소 상태와 커밋 내역 확인하기 3.1 git status 3.2 git log 3.3 git show 3.4 정리 4 diff : 파일의 수정 내용 비교하기 4.1 프로그램 수정하기 4.2 git diff로 파일의 수정된 내용 확인하기 4.3 git diff로 커밋 간의 내용 비교하기 4.4 정리 5 reset① : 스테이징 되돌리기 5.1 파일 추가하고 스테이징하기 5.2 git reset으로 파일 언스테이징하기 5.3 정리 6 amend : 최근에 작성한 커밋 수정하기 6.1 현재 상태 커밋하기 6.2 git commit -amend로 최근 커밋 수정하기 6.3 정리 7 checkout : 커밋 되돌리기 7.1 현재 저장소의 상태 확인하기 7.2 git checkout으로 커밋 되돌리기 7.3 최신 커밋으로 돌아가기 7.4 정리 8 reset② : 커밋 취소하기 8.1 현재 저장소의 상태 확인하기 8.2 git reset으로 커밋 취소하기 8.3 리셋으로 커밋이 삭제된 것일까? 8.4 --soft 옵션으로 git reset하기 8.5 정리 9 reflog : HEAD의 참조 이력 확인하기 9.1 git reflog로 참조 이력 확인하기 9.2 정리 10 HEAD와 master 10.1 브랜치 10.2 HEAD와 브랜치의 관계 10.3 checkout, reset 명령에 따른 HEAD의 이동 10.4 정리 5장 Github와 함께 사용하기 1 원격저장소 생성과 연동 1.1 원격저장소 생성하기 1.2 원격저장소 등록하기 1.3 업스트림 설정하기 1.4 정리 2 push와 pull① : 저장소로 업로드, 저장소에서 다운로드하기 2.1 로컬저장소의 파일 수정하기 2.2 수정 내용 커밋하기 2.3 git push로 로컬저장소의 내용 업로드하기 2.4 원격저장소의 파일 수정하기 2.5 git pull로 원격저장소의 내용 가져오기 2.6 정리 3 tag : 부가 정보 추가하기 3.1 저장소 확인하기 3.2 Lightweight 태그 작성하기 3.3 Annotated 태그 작성하기 3.4 태그 확인하기 3.5 태그로 체크아웃하기 3.6 태그 삭제하기 3.7 원격저장소에 태그 푸시하기 3.8 정리 4 revert : 푸시한 커밋 되돌리기 4.1 로컬저장소의 파일 수정하기 4.2 수정한 내용 커밋, 푸시하기 4.3 git revert로 커밋 되돌리기 4.4 되돌린 내용을 푸시하기 4.5 정리 6장 Github로 협업하기 1 clone : 원격저장소 복제하기 1.1 기존 로컬저장소 이름 수정하기 1.2 git clone으로 원격저장소 내용 복제하기 1.3 calculator_B 저장소 사용자 설정하기 1.4 정리 2 push와 pull② : 협업 환경에서 작업 내용 업데이트하기 2.1 개발자 A : ui.py 수정, 커밋, 푸시하기 2.2 개발자 B : ctrl.py 수정, 커밋, 푸시하기 2.3 개발자 A : 원격저장소의 내용을 가져와서 병합하기 2.4 정리 3 충돌 해결하기 3.1 개발자 B : ui.py 수정, 커밋, 푸시하기 3.2 개발자 A : ui.py 수정, 커밋, 푸시하기 3.3 개발자 A : git pull 그리고 충돌 해결하기 3.4 개발자 B : git pull로 원격저장소의 내용 병합하기 3.5 정리 4 fetch와 merge 4.1 개발자 B : ctrl.py 수정, 커밋 푸시하기 4.2 개발자 A : git fetch로 원격저장소의 정보 가져오기 4.3 개발자 A : git merge로 원격저장소의 내용 병합하기 4.4 개발자 A : ctrl.py 파일의 sum 함수 수정 후 커밋, 푸시하기 4.5 개발자 B : 원격저장소의 내용 풀하기 4.6 정리 5 blame : 코드의 수정 내역 확인하기 5.1 git blame으로 소스 코드 수정 내역 확인하기 5.2 정리 6 stash : 작업 내용 임시 저장하기 6.1 개발자 A : ui.py 수정, 커밋, 푸시하기 6.2 개발자 B : ctrl.py 수정하기 6.3 개발자 B : git stash로 작업 내용 임시 저장하기 6.4 git stash 살펴보기 6.5 개발자 B : 원격저장소의 내용 가져와서 확인하기 6.6 개발자 B : 임시 저장한 내용 가져오기 6.7 개발자 B : 작업을 마무리하고 커밋, 푸시하기 6.8 개발자 B : 저장 내용 삭제하기 6.9 개발자 A : 원격저장소의 내용을 저장하기 6.10 정리 7장 브랜치 1 git branch와 checkout : 브랜치 생성과 전환 1.1 git branch로 브랜치 생성, 삭제하기 1.2 git checkout으로 브랜치 전환하기 1.3 새 브랜치에서 작업하기 1.4 정리 2 merge : 브랜치 병합하기 2.1 작업 브랜치를 master로 전환하기 2.2 master 브랜치에 dev1 브랜치의 작업 내용 병합하기 2.3 정리 3 merge의 두 종류 : fast-forward와 3-way merge 3.1 fast-forward merge 3.2 3-way merge 3.3 정리 4 merge 옵션 : --ff, --no-ff, --squash 4.1 fast-forward merge 4.2 non fast-forward merge 4.3 squash merge 4.4 브랜치 정리하기 4.5 정리 5 rebase : 브랜치 재배치하기 5.1 issue1 브랜치 작업하기 5.2 issue2 브랜치 작업하기 5.3 git rebase로 브랜치 재배치하기 5.4 master 브랜치에서 병합하기 5.5 정리 6 cherry-pick : 다른 브랜치의 커밋 적용하기 6.1 dev1 브랜치 작업하기 6.2 dev2 브랜치 작업하기 6.3 dev2 브랜치 작업 : git cherry-pick으로 특정 커밋의 내용 가져오기 6.4 master 브랜치에서 dev2의 내용 병합하기 6.5 사용하지 않는 브랜치 삭제하기 6.6 정리 7 신규 브랜치 푸시하기 7.1 master 브랜치의 내용 푸시하기 7.2 light 브랜치 작업하기 7.3 light 브랜치의 작업 내용 푸시하기 7.4 정리 8장 브랜치 운영 전략 1 pull request 1.1 관리자용 원격저장소 생성하기 1.2 개발자 A : PC에 원격저장소의 내용 복제하기 1.3 개발자 A : feat1 브랜치에서 ui.py 수정, 커밋, 푸시하기 1.4 개발자 A : Github에서 풀 리퀘스트 생성하기 1.5 관리자 : Github에서 풀 리퀘스트 승인하기 1.6 개발자 A : 원격저장소에 병합된 내용 가져오기 2 Gitflow 2.1 Gitflow의 브랜치들 2.2 git-flow cheatsheet 2.3 정리 appendix 1 Git cheatsheet 2 커밋 메시지 컨벤션 3 gitignore |
|
* 주요 내용
1장 실습 환경 구축하기 Git을 배우기 전에 필요한 프로그램을 설치하여 환경울 구축하는 장입니다. Git for Windows, 소스트리와 같은 Git 프로그램을 설치하고 Github 계정을 만듭니다. 파이썬 프로그램에 필요한 환경도 함께 준비합니다. 2장 소스트리로 Git 체험하기 대표적인 GUI 프로그램인 소스트리(Source tree)를 이용하여 Git의 기본적인 기능을배워봅니다. 저장소 생성, 간단한 커밋, 저장소 간 내용 동기화 등 맨 처음 알아두면 좋을 기본적인 내용을 실었습니다. 3장 Git의 동작 원리 Git 저장소의 구성과 동작 개념을 설명합니다. Git은 분산 처리 구조로 만들어져 유연하면서도 성능이 우수한 형상 관리 프로그램이지만, 기존 중앙 집중식 형상 관리 도구에 비해 직관적이지 못하여 처음 배우는 사람들이 동작 원리를 이해하는 데 어려움을 겪곤 합니다. 3장에서 Git의 독특한 작업 영역과 파일 및 이력 관리 방식을 확실하게 이해할 수 있도록 동작 원리를 꼼꼼히 설명하였습니다.. 4장 Git 기본 명령어 소규모의 프로젝트를 준비하듯 로컬 PC에 Git 저장소를 생성해서 Git 명령어 중에서도 자주 사용되고 필수적으로 알아야 하는 명령어들을 배우는 장입니다. 4장부터는 CLI 환경에서 명령어를 사용하는 방법도 소개합니다. 5장 Github와 함께 사용하기 로컬저장소와 Github를 연계하여 사용하는 방법을 소개합니다. Github 계정으로 원격저장소를 생성하고 지금까지 로컬 PC에서 작업했던 저장소와 연계한 뒤 작업 내용을 Github에 업로드하는 방법, 원격저장소의 내용을 로컬저장소로 다운로드하는 방법을 실습합니다. 이 과정에서 유용하게 사용할 수 있는 Git 명령어도 함께 소개합니다. 6장 Github로 협업하기 실무를 할 때와 비슷한 환경을 만들어 다수의 개발자가 원격저장소를 중심으로 협업하는 방법을 배웁니다. 그리고 협업하면서 발생하는 상황에서 요긴하게 사용될 수 있는 명령어와 팁들을 소개합니다. 7장 브랜치 브랜치의 생성, 관리, 조작 방법을 배워 소스코드 관리 능력을 한 단계 끌어올릴 수 있도록 구성한 장입니다. 브랜치의 특성을 이용하여 한 저장소 안에서 각각 브랜치를 만들어 동시에 서로 다른 작업을 하고, 두 브랜치의 내용을 병합하여 정리하는 방법을 배웁니다. 8장 브랜치 운영 전략 불완전한 코드의 병합을 방지하여 브랜치 품질을 유지하기 위한 풀 리퀘스트(pull request), 그리고 한 저장소안에서 다양한 용도의 브랜치를 효과적으로 운영할 수 있는 방법인 깃 플로우(gitflow) 등의 실무에서 자주 사용되는 브랜치 운영전략을 알아보는 장입니다. * 작가의 말 소프트웨어 기술은 비약적인 발전을 거듭하고 있고, 우리 생활과 밀접하게 연관되어 있습니다. 구직 시장에서도 전공자, 비전공자를 가릴 것 없이 소프트웨어 스킬의 중요성이 커지고 있는 것 같습니다. 소프트웨어가 우리에게 다양하고 고도화된 서비스를 제공하기 시작하면서 규모가 커지고 복잡해지고 있습니다. 그만큼 체계적인 유지보수와 협업 기반 개발 프로세스의 중요성이 강조되고 있습니다. Git은 소스 코드와 같은 파일들의 이력 관리를 돕는 버전 관리 시스템입니다. 속도가 빠르고 분산형 구조를 채택하여 대형 프로젝트에도 적합합니다. 그리고 여러 사람이 협업하고 공유할 수 있는 환경으로 확장이 쉬워 많은 사용자층을 보유하고 있습니다. 하지만 다른 버전 관리 도구에 비해 직관성이 떨어집니다. 입문자나 비전공자, 그리고 기존 중앙 집중형 관리 도구에 익숙한 분들이 개념을 이해하기 어려울 수 있습니다. 이 책은 위와 같은 어려움을 겪는 분들을 대상으로 만들어진 책입니다. Git의 동작 개념과 다양한 명령어를 한 번에 숙지하는 것은 여간 힘들고 지루한 일이 아닙니다. 저는 어떤 방법을 사용하면 입문자들이 Git의 동작 원리와 명령어들을 쉽게 익힐 수 있을지 고민해 왔습니다. 제가 고안한 방법은 작은 프로젝트를 진행해 가며, 그 과정 속에서 명령어를 실습하는 방식입니다. 실무 중에 발생할 수 있는 이슈를 예로 들고, 그 해결책으로 명령어를 제안하여 자연스럽게 익힐 수 있도록 구성했습니다. 이 책에서 여러분은 간단한 계산기 프로그램 개발 프로젝트를 진행합니다. 이 과정을 통해 개발 이력을 저장하는 방법, 원격 저장소와 연동하는 방법, 동료와 협업하는 방법, 그리고 브랜치를 운영하는 방법을 익히게 될 것입니다. Git을 처음 접한다면 환경 구축부터 실습까지 따라하며 진행하는 것을 추천드립니다. 이 책의 1, 2장에서는 실습 환경을 구축하고, GUI 기반 프로그램으로 Git 명령어를 가볍게 체험합니다. 3장에서는 Git의 작업 영역과 파일 이력 관리 개념에 대해서 설명합니다. 이후 챕터부터는 계산기 프로그램 개발 프로젝트를 진행해 가며 Git 사용법을 익히는 부분입니다. 4장은 로컬 저장소 환경에서 사용되는 명령어들을 소개합니다. 나아가 5, 6장에서는 로컬 저장소와 원격 저장소를 연동하고, 협업을 진행하는 방법을 설명합니다. 마지막으로 7, 8장은 브랜치의 개념을 소개하고 운영하는 방법을 실습합니다. 하나의 개발 프로젝트를 진행하면서 명령어 사용법을 시기적절하게 소개하여 개념을 쉽게 숙지할 수 있도록 구성했습니다. 이 책의 실습 코드는 챕터별로 구분하여 Github 저장소에 업로드 해두었습니다. https://github.com/sguys99/practice-git-materials 마지막으로 원고 작성에 도움을 주신 한전 전력연구원 / 데이터사이언스 연구소, 삼성전기 설비개발연구소 동료들에게 감사드리며, 이 책을 선택한 여러분에게 감사의 마음을 전합니다. |