diff --git a/book/introduction.asc b/book/introduction.asc index b392c676..2854f900 100644 --- a/book/introduction.asc +++ b/book/introduction.asc @@ -1,69 +1,148 @@ [preface] == Introduction +//////////////// You’re about to spend several hours of your life reading about Git. Let’s take a minute to explain what we have in store for you. Here is a quick summary of the ten chapters and three appendices of this book. +//////////////// +이 글을 읽는 독자라면 Git을 읽는 데 몇 시간쯤은 기꺼이 투자할 사람일 테다. 독자의 시간은 중요하기에 +먼저 몇 분 내로 이 책에 담긴 내용을 간단히 소개한다. 아래는 이 책에 담긴 10개의 장과 3개의 부록에 대해 간단히 정리한 내용이다. +//////////////// In *Chapter 1*, we’re going to cover Version Control Systems (VCSs) and Git basics—no technical stuff, just what Git is, why it came about in a land full of VCSs, what sets it apart, and why so many people are using it. Then, we’ll explain how to download Git and set it up for the first time if you don’t already have it on your system. +//////////////// +**1장**에서는 기술적인 내용을 제외하고 버전 관리 시스템(VCS)과 Git이란게 대체 무엇인지, Git의 탄생 배경과, +Git이 다른 VCS와 무엇이 다른지, 많은 사람들이 왜 Git을 사용하는지 대해서 알아본다. +이후 Git을 다운르도하고 설치하는 과정을 알아본다. +미리 Git이 설치돼 있는 시스템도 있다. +//////////////// In *Chapter 2*, we will go over basic Git usage—how to use Git in the 80% of cases you’ll encounter most often. After reading this chapter, you should be able to clone a repository, see what has happened in the history of the project, modify files, and contribute changes. If the book spontaneously combusts at this point, you should already be pretty useful wielding Git in the time it takes you to go pick up another copy. +//////////////// +**2장**에서는 기본적인 Git 사용법을 알아본다. 80% 쯤은 이 장에서 설명하는 정도로만 Git을 사용한다. +2장을 읽고나면 저장소를 Clone 하기, 프로젝트 히스토리를 알아보기, 파일을 수정하고 프로젝트에 기여하기 등을 할 수 있다. +이 장만 찟어서 휴가를 즐기고 돌아와도 Git을 잘 사용할 수 있다. +//////////////// *Chapter 3* is about the branching model in Git, often described as Git’s killer feature. Here you’ll learn what truly sets Git apart from the pack. When you’re done, you may feel the need to spend a quiet moment pondering how you lived before Git branching was part of your life. +//////////////// +**3장**에서는 Git의 브랜치 모델에 대해서 알아본다. 사람들은 브랜치가 Git의 핵심 기능이라고 말한다. +Git 브랜치를 활용하는지 배우면 다른 VCS와 어떻게 다른지 알게 된다. +3장을 읽고 나면 Git의 브랜치 없이 어떻게 살아왔는지 상상할 수 없게 될 것이다. +//////////////// *Chapter 4* will cover Git on the server. This chapter is for those of you who want to set up Git inside your organization or on your own personal server for collaboration. We will also explore various hosted options if you prefer to let someone else handle that for you. +//////////////// +**4장**에서는 서버 환경에서의 Git에 대해 알아본다. Git으로 협업할 때 회사같은 특정 네트워크 안에서 사용할 +Git 서버를 구축하거나 자신만의 Git 서버를 운영하고자 하는 사람에게 필요한 내용이다. +직접 Git 서버를 관리하지 않고 사용하는 여러 호스팅 서비스도 소개 한다. +//////////////// *Chapter 5* will go over in full detail various distributed workflows and how to accomplish them with Git. When you are done with this chapter, you should be able to work expertly with multiple remote repositories, use Git over e-mail and deftly juggle numerous remote branches and contributed patches. +//////////////// +**5장**에서는 다양한 분산환경에서의 Workflow에 대해 알아보고 Git으로 어떻게 Workflow를 달성하는지 알아본다. +5장을 읽고나면 여러 리모트 저장소를 두고 전문가처럼 작업할 수 있다. +이메일로도 Git 작업을 할 수 있고, +많은 수의 리모트 브랜치나 기여 받은 패치를 다룰 수 있다. +//////////////// *Chapter 6* covers the GitHub hosting service and tooling in depth. We cover signing up for and managing an account, creating and using Git repositories, common workflows to contribute to projects and to accept contributions to yours, GitHub's programmatic interface and lots of little tips to make your life easier in general. +//////////////// +**6장**에서는 GitHub 호스팅 서비스와 GitHub에서 제공하는 도구를 자세히 알아본다. 가입하고 계정을 관리하는 방법부터 Git 저장소를 생성하고 다른 프로젝트에 기여하고 반대로 기여받는 Workflow를 살펴본다. GitHub이 제공하는 프로그래밍 가능한 인터페이스와 알아두면 피가되고 살이되는 팁도 소개한다. +//////////////// *Chapter 7* is about advanced Git commands. Here you will learn about topics like mastering the scary 'reset' command, using binary search to identify bugs, editing history, revision selection in detail, and a lot more. This chapter will round out your knowledge of Git so that you are truly a master. +//////////////// +**7장**에서는 Git의 고급 명령을 알아본다. 때로는 위험할 수도 있는 'Reset' 같은 명령에 도사가 되고, +버그를 찾기 위해 이진 탐색 기능을 사용하기도 한다. 히스토리를 수정하기도 하고 히스토리에서 세세하게 리비전을 선택해서 작업하는 등 +다양한 고급 기능을 알아본다. 7장은 Git을 고급지게 구사하는 마스터로 만들어 줄 것이다. +//////////////// *Chapter 8* is about configuring your custom Git environment. This includes setting up hook scripts to enforce or encourage customized policies and using environment configuration settings so you can work the way you want to. We will also cover building your own set of scripts to enforce a custom committing policy. +//////////////// +**8장**에서는 Git 환경설정을 입맛에 맞게 조정하는 방법을 알아본다. +사용자가 원하는 정책을 만들어서 Git 환경에 적용시킬 수 있는 +훅 스크립트를 설명한다. +원하는 대로 커밋 규칙을 세우고 이를 강제하도록 스크립트를 작성하는 예제도 소개한다. +//////////////// *Chapter 9* deals with Git and other VCSs. This includes using Git in a Subversion (SVN) world and converting projects from other VCSs to Git. A lot of organizations still use SVN and are not about to change, but by this point you’ll have learned the incredible power of Git—and this chapter shows you how to cope if you still have to use a SVN server. We also cover how to import projects from several different systems in case you do convince everyone to make the plunge. +//////////////// +**9장**에서는 Git과 다른 VCS를 함께 사용하는 환경에 대해 알아본다. Subversion 환경에서 Git을 클라이언트로 사용하는 방법이나 +다른 VCS 프로젝트를 Git 프로젝트로 변경하는 방법을 알아본다. 아직도 많은 곳에서 바꿀 계획 없이 Subversion을 사용하고 있다. +9장을 통해 이런 Subversion 서버를 써야하는 환경에서도 Git이 제공하는 다양한 장점을 사용하는 법을 알게 된다. +다른 VCS 환경이나 프로젝트를 Git으로 변환하는 방법을 터득함으로써 동료에게 Git이 왜 좋은지 납득시키는 데 +도움이 된다. -*Chapter 10* delves into the murky yet beautiful depths of Git internals. Now that you know all +//////////////// +*Chapter 10* delves into the murky yet beautiful depths of Git internals. Now that you know all about Git and can wield it with power and grace, you can move on to discuss how Git stores its objects, what the object model is, details of packfiles, server protocols, and more. Throughout the book, -we will refer to sections of this chapter in case you feel like diving deep at that point; -but if you are like me and want to dive into the technical details, you may want to read Chapter 10 first. +we will refer to sections of this chapter in case you feel like diving deep at that point; +but if you are like us and want to dive into the technical details, you may want to read Chapter 10 first. We leave that up to you. +//////////////// +**10장**에서는 Git 안으로 깊숙히 파고든다. +Git이 실제로 어떻게 동작하는지 이해하고 나면 아주 우아하고 강력하게 Git을 사용할 수 있게 된다. +이처럼 내부를 이해하고 나면 이제 데이터를 어떻게 다루는 것이 좋은지 객체를 다루는 모델로 무엇을 사용하는지 +Packfile은 정확히 어떻게 이루어져 있는지 서버 프로토콜은 어떻게 이루어져있는지 논하는 경지에 이르게 된다. +책 곳곳에서 어떤 내용을 소개하다가 좀 더 깊은 이해가 필요한 부분에서는 10장을 보도록 안내하고 있다. +남들과는 다르게 Git의 은밀한 기술적인 구조를 이해하고 싶다면 다른 부분보다 여기 10장에 먼저 손이 갈 것이다. +//////////////// In *Appendix A* we look at a number of examples of using Git in various specific environments. We cover a number of different GUIs and IDE programming environments that you may want to use Git in and what is available for you. If you're interested in an overview of using Git in your shell, in Visual Studio or Eclipse, take a look here. +//////////////// +**부록 A**에서는 다양한 환경에서 Git을 사용하는 예제를 살펴본다. +여러 GUI, 여러 IDE 환경에서 Git을 사용하려면 어떻게 해야 하는지 알아본다. +Shell이나 Visual Studio, Eclipse 같은 환경에서 +Git을 어떻게 쓰는지 훓어보려면 부록 A를 보면 된다. +//////////////// In *Appendix B* we explore scripting and extending Git through tools like libgit2 and JGit. If you're interested in writing complex and fast custom tools and need low level Git access, this is where you can see what that landscape looks like. +//////////////// +**부록 B**에서는 Git을 스크립트로 사용하거나 libgit2나 JGit 같은 라이브러리로 기능을 확장해서 사용하는 방법을 알아본다. +맞춤 도구를 제작해서 사용을 해야한다거나 Git의 저수준 접근이 필요한 경우 부록 B를 살펴보면 +어떻게 해야 할지 감을 잡을 수 있다. +//////////////// Finally in *Appendix C* we go through all the major Git commands one at a time and review where in the book we covered them and what we did with them. If you want to know where in the book we used any specific Git command you can look that up here. +//////////////// +마지막으로 **부록 C**에서는 주요 Git 명령을 한꺼번에 살펴보고 각 명령을 어디서 설명하고 있는지 안내하고 +어떻게 사용했는지를 알려준다. +어떤 명령이 책의 어디에서 소개되었고 어떤 예제가 있는지 찾아볼 때 부록 C 가 유용하다. +//////////////// Let’s get started. +//////////////// +자 이제 시작해봅시다.