Git vs Mercurial: Why Git? | Atlassian Blogs

For anything to be added to a commit in Git, it must first pass through the index. How do you get content into the index? By calling ‘git add’. This makes sense to SVN users for new files, but it can get a little confusing to have to do it for files you’ve already committed. The thing to keep in mind is that you are ‘adding’ your changes, not the files themselves. What I like about this is you know exactly what is going to be committed each time.

via Git vs Mercurial: Why Git? | Atlassian Blogs.

Mercurial이냐 git이냐. 좀 더 배우기 쉬운 mercurial을 그대로 쓰고 싶지만 세상은 git으로 넘어가고 있는 듯하고. 혹시 github을 쓸 일이 있을 지는 몰라도 git을 배워두는 게 도움이 될 듯한데.

그래서 Pro Git  번역본을 읽고 있는데 mercurial 등의 다른 DVCS에서는 숨겨둔 staging area(처음에는 staging index라고 해서 혼란을 줬는데 지금은 area라는 말로 정리가 되어 가고 있단다. 이미?) 라는 개념이 무척 헷갈린다. 이게 왜 필요한 지. 게다가 이미 add하고 check-in한 파일을 다시 add해야 한다는 개념이 헷갈렸는데 위 설명을 보니 조금 정리가 된다. 파일을 추가하는 게 아니라 변경 내용을 staging area에 add하는 개념이라니.

그리고 위의 글에 있는 예처럼 git add에 –patch옵션을 추가하면 하나의 파일에서 이미 변경한 부분이더라도 잘못 변경한 부분이 있으면 그걸 제외한 나머지 변경사항을 add할 수 있다고.

To help explain what I mean, a command that I use almost more than any other is patching. Patching lets you add specific hunk/snippets from a file, rather than an all-or-nothing approach.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s