diff --git a/index.html b/index.html
index 12d19aa..366c082 100644
--- a/index.html
+++ b/index.html
@@ -74,16 +74,13 @@
- Probably Git's most compelling feature that really makes it stand
- apart from nearly every other SCM out there is its branching
- model. It is completely different from all of the models I'm
- comparing it to here, most of which recommend that the best branch
- is basically a clone of the repository in a new directory.
+ 다른 SCM에 비해 Git의 가장 큰 특징은 아마도 브랜치 모델일 것이다. Git은 내가 여기서 비교하고자 하는 다른 모델들과는 완전히 다르다. 대부분이 권장하는 궁극의 브랜치는 새 디렉토리로 레파지토리를 통째로 복사하는 것이다.
- Git does not work like that. Git will allow you to have multiple
- local branches that can be entirely independent of each other and
- the creation, merging and deletion of those lines of development
- take seconds.
+ 하지만 Git은 그렇게 동작하지 않는다. Git에서는 여러 개의 로컬 브랜치를 가질수 있으며 그 로컬 브랜치들은 서로 완벽하게 독립적이기 때문에 개발 중 수행하는 생성, 머지, 삭제 명령도 독립적으로 수행된다.
- This means that you can do things like:
+ Git으로는 다음과 같은 일들을 할 수 있다:
- - Create a branch to try out an idea, commit
- a few times, switch back to where you branched from, apply a patch,
- switch back to where you are experimenting, then merge it in.
+
- 아이디어를 실험하기 위해 브랜치를 만들고, 몇 번 커밋을 하고, 원래 것으로 돌아가, 패치를 적용한다. 다시 실험중인 브랜치로 돌아가 그것을 머지한다.
- - Have a branch that always contains only what goes to production,
- another that you merge work into for testing and several smaller
- ones for day to day work
+
- 제품으로 출시하기 위한 브랜치는 하나만 가질 수 있지만 그외 다른 목적의 브랜치는 마음것 만들 수 있다. 테스트나 일상적인 업무를 위한 브랜치를 만들어 작업하고 그 것을 머지한다.
- - Create new branches for each new feature you're working on, so
- you can seamlessly switch back and forth between them, then delete
- each branch when that feature gets merged into your main line.
+
- 당신이 만들고 있는 이슈마다 브랜치를 새로 만들고 그 브랜치들 사이들 오가며 작업할 수 있다. 그리고 그 브랜치를 마스터 브랜치로 머지한 후에 그 브랜치들을 삭제한다.
- - Create a branch to experiment in, realize it's not going to
- work and just delete it, abandoning the work—with nobody else
- ever seeing it (even if you've pushed other branches in the meantime)
+
- 실험용 브랜치를 만들고 쓸모가 없으면 바로 삭제한다. (그 동안 다른 브랜치들을 푸시했었더라도) 실험은 버려졌기 때문에 아무도 모른다.
-
+
- Importantly, when you push to a remote repository, you do not
- have to push all of your branches. You can only share one of your
- branches and not all of them. This tends to free people to try
- new ideas without worrying about having to plan how and when they
- are going to merge it in or share it with others.
+ 중요한 것은 원격의 레파지토리에 푸시할 때 가지고 있는 브랜치 전부를 푸시하지 않는 점이다. 가지고 있는 브랜치들 중 하나만 공유할 수 있다. 그래서 사람들은 언제, 어떻게 브랜치를 머지하고 공유해야 할지에 대한 고민없이 쉽게 새로운 아이디어를 실험할 수 있다.
- You can find ways to do some of this with other systems, but the work
- involved is much more difficult and error-prone. Git makes this
- process incredibly easy and it changes the way most developers
- work when they learn it.
+ 다른 시스템과 함께 Git을 사용할 방법이 있지만 매우 어렵고 에러나기 쉽다. Git을 배우면 이 과정이 매우 쉬워지고 일하는 방식도 변화한다.
@@ -174,40 +149,26 @@
perforce
- This is basically true of all the distributed SCMs, but in my
- experience even more so with Git. There is very little outside
- of 'fetch', 'pull' and 'push' that communicates in any way with
- anything other than your hard disk.
+ 이 것은 모든 분산 SCM에도 해당하는 이야기지만 나는 주로 Git을 많이 사용한다. Git은 외부 요소가 매우 적다. 내 하드디스크 세상 밖으로 소통하는 방법은 'fetch', 'pull', 'push'밖에 없다.
- This not only makes most operations much faster than you may
- be used to, but it also allows you to work on stuff offline.
- That may not sound like a big deal, but I'm always amazed at
- how often I actually do work offline. Being able to branch,
- merge, commit and browse history of your project while on
- the plane or train is very productive.
+ 이 것은 우리가 해왔던 것 보다 모든 명령의 수행 속도를 빠르게 해줄뿐만 아니라 오프라인에서도 작업할 수 있도록 해준다. 실제로 아무것도 아닐 것 같지만 나는 내가 자주 오프라인으로 작업하고 있는 것을 발견하곤 항상 매우 놀란다. 비행기나 기차안에서도 오프라인으로 브랜치, 머지, 커밋하고 프로젝트의 히스토리를 살펴볼 수 있다는 것은 매우 생산적이다.
- Even in Mercurial, common commands like 'incoming' and 'outgoing' hit
- the server, whereas with Git you can 'fetch' all the servers data
- before going offline and do comparisons, merges and logs of data
- that is on the server but not in your local branches yet.
+ 심지어 Mercurial은 incoming과 outouing같은 명령어는 서버와 통신해야 한다. 하지만 Git은 서버에 있는 데이터를 로컬 브랜치로 fetch한다. fetch를 한 후에 오프라인으로도 서버에 있는 데이터와 비교, 머지, 로그 등의 일을 할 수 있다.
-
+
- This means that it's very easy to have copies of not only your
- branches, but also of everyone's branches that are working with
- you in your Git repository without having to mess your own stuff
- up.
+ 즉, Git 레파지토리에 있는 작업물들을 헝클지도 않으면서 나와 함께 일하는 동료들은 모두 자신만의 브랜치를 매우 쉽게 만들 수 있다.
@@ -221,34 +182,20 @@