git 2.0 변경사항 중에 해석이 안되는 부분이 있어서요.
글쓴이: nomail / 작성시간: 수, 2014/07/09 - 11:54오후
안녕하세요.
얼마전에 git 2.0으로 버전업이 되면서 많은 부분이 바뀌었는데요.
http://blogs.atlassian.com/2014/06/happened-git-2-0-full-goodies/
위의 사이트에서 요약된 내용을 읽어보는데 해석이 안되는 부분이 있어서 질문 드립니다.
git reset -N will keep known paths as intend-to-add if the target tree-ish does not already know them.
reset의 변경사항인데요. (soft, mixed, hard, merge에 대한 개념은 정확히 숙지하고 있습니다)
위 내용이 해석이랑 이해가 안되서 그러는데.. 설명을 좀 부탁드립니다.
intent-to-add 단어가 git에서 사용하는 용어인지요?
Forums:
http://www.git-scm.com/docs/g
http://www.git-scm.com/docs/git-reset/2.0.1
git 2.0.1 의 reset 커맨드 문서를 보면
저기서 시키는 대로 add 의 문서를 찾아가보면
http://www.git-scm.com/docs/git-add
add에는 기존 버전에도 (제가 쓰고 있는 1.8.5.2를 보면) 있는 옵션이네요. 그냥 말 그대로 "intent to add", "add할 의도가 있음"이라는 의미로 쓰였나 봅니다.
그치만 솔직히 양쪽 문서를 읽어봐도
1) add할 때 저 옵션을 주면 도대체 뭐가 좋은 건지 (저 옵션을 주면 어떻게 된다는 건지는 그나마 알겠는데)
2) reset할 때 저 옵션을 주면 어떻게 된다는 건지
둘 다 잘 모르겠네요 저는. ^^;
좋은 하루 되세요!
raymundo님 답글 주셔서 고맙습니다.알려주신
raymundo님 답글 주셔서 고맙습니다.
알려주신 내용으로 직접 테스트 해보니 대강 사용법을 알 것 같습니다.
git 2.0부터는 .(dot)만 입력해도 -a -u처럼 동작합니다.
새로운 파일이 추가 되었들 때 -N 옵션으로 add하니 index에 내용을 제외한 파일명/경로가 올라갑니다.
그래서 status를 보면 new file과 modified에 각각 보이게 되는데 commit을 하더라도 실제 tree객체에는 추가되지 않습니다.
말 그대로 intent-to-add 이네요.
mixed reset(index, head포인터만 리셋)을 했을 때 "add -N"의 결과는 index에 그대로 남아있습니다.
man페이지의 설명 그대로 입니다.
사용법은 알겠는데 이걸 어떻게 활용하는건지 잘 모르겠네요.
임시로 add는 해 놓지만 커밋은 나중에 결정하겠다.. 이런 뜻인지.
다른 얘기지만 git 공부할 때 raymundo님 위키에서 많은 도움을 받았습니다.
특히 git reset에 대한 자세한 설명은 정말 최고라고 생각합니다^^
댓글 달기