git의 지점에 대해 간단명료하게 설명해 보아라
흔한 인상
처음에 분기를 연상할 때 GUI 도구로 분기 트리 그림을 본 것 같아서 분기는 일반적으로 이렇게 많이 고려한다.
분지를 만든 곳에서 새로운 나뭇가지가 뻗어 이 나뭇가지의 부분은 분지가 된다.
Mercurial 같은 인상은 확실히 괜찮아요.그래서 그쪽에서git에 들어간 사람들은 이런 인상을 많이 가지고 있죠.
그러나git의 지점, 이렇게 상상하면 상당히 큰 혼란을 일으킬 수 있다.
git의 지점적 인상
나는git의 지점을 다음과 같이 인상하면 쉽게 이해할 수 있다고 생각한다.
git로 지점을 만들면 나무 뿌리에서 현재 위치로 지점을 표시합니다.위의 예에서 모든 제출은 Branch-A, 즉 Branch-B이다.그리고 제출하면 새 제출도 자동으로 현재 지점으로 표시됩니다.
나무의 가지들은 제출한 이력서에 불과해 가지와는 상관이 없다는 것이다.지점은 제출마다 표시만 했다.
따라서git도 지점을 삭제할 수 있다.
이 때 삭제된 것은 지점만 있고 제출 자체가 사라지지 않습니다.
제출할 때, 때때로 분기를 표시하지 않는다
git는 제출할 때 특정한 지점에 속하는 경우에만 자동으로 제출할 때 지점의 표시를 붙인다.
만약 다른 상황에서 제출한다면 그 제출에는 지점 표지가 없다.그 제출은 어떤 지점에도 속하지 않는다는 얘기다.
그리고git의 GUI 도구는 지점에 포함되지 않은 것을 거의 표시하지 않기 때문에 디버깅이 사라진 것 같습니다.(죄송합니다. 제출 후 checkkout 명령 등을 통해 지점을 전환하기 전에 로그가 정상적으로 보입니다.)
그렇다면 어떤 상황에서 분지에 속하지 않는 상태가 될까.예를 들어 다음과 같은 경우 그 어떠한 지점에도 속하지 않는 상태이다.
4
나는git의 지점을 다음과 같이 인상하면 쉽게 이해할 수 있다고 생각한다.
git로 지점을 만들면 나무 뿌리에서 현재 위치로 지점을 표시합니다.위의 예에서 모든 제출은 Branch-A, 즉 Branch-B이다.그리고 제출하면 새 제출도 자동으로 현재 지점으로 표시됩니다.
나무의 가지들은 제출한 이력서에 불과해 가지와는 상관이 없다는 것이다.지점은 제출마다 표시만 했다.
따라서git도 지점을 삭제할 수 있다.
이 때 삭제된 것은 지점만 있고 제출 자체가 사라지지 않습니다.
제출할 때, 때때로 분기를 표시하지 않는다
git는 제출할 때 특정한 지점에 속하는 경우에만 자동으로 제출할 때 지점의 표시를 붙인다.
만약 다른 상황에서 제출한다면 그 제출에는 지점 표지가 없다.그 제출은 어떤 지점에도 속하지 않는다는 얘기다.
그리고git의 GUI 도구는 지점에 포함되지 않은 것을 거의 표시하지 않기 때문에 디버깅이 사라진 것 같습니다.(죄송합니다. 제출 후 checkkout 명령 등을 통해 지점을 전환하기 전에 로그가 정상적으로 보입니다.)
그렇다면 어떤 상황에서 분지에 속하지 않는 상태가 될까.예를 들어 다음과 같은 경우 그 어떠한 지점에도 속하지 않는 상태이다.
4
이해하기 어려울 수도 있지만 이렇게 하지 않으면 지점의 시작에 여러 개가 나타난다. 예를 들어'git checkkout 지점 이름'이라면 어디로 가야 할지 모르겠다.
습관이 되면 편리하다
push를 하면 서버에 있는 것과 갈등이 생겨서 안 되지만, push를 하기 전에 취소하는 등 다양한 조작이 가능하다.
예를 들어 어떤 지점을 제출한 후에 다른 지점을 진행할 수도 있다.
이처럼 지점이 하나의 표지일 뿐이라는 것만 알면 많은 응용을 할 수 있다.
최후
이렇게 하면 아마 기억에 남겠죠?
나와 내 주변 사람들은 영입 단계에서도 걸려 넘어져 힘들었다.응, 이해하면 아주 간단한 일이야.
다만, 보급하기는 매우 어렵다. 특히 프로그래머 이외의 사람들은 이것을 이해하게 하는 것은 불가능하다고 생각한다.프로그래머를 제외하고는 기본적으로 지점과 합병을 쓰지 않기 때문에 svn이 되어도 되겠죠.프로그래머가 보기에 svn은 이미 안 된다.
Reference
이 문제에 관하여(git의 지점에 대해 간단명료하게 설명해 보아라), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Ratty27/items/a5725b01eb60e9940998
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이렇게 하면 아마 기억에 남겠죠?
나와 내 주변 사람들은 영입 단계에서도 걸려 넘어져 힘들었다.응, 이해하면 아주 간단한 일이야.
다만, 보급하기는 매우 어렵다. 특히 프로그래머 이외의 사람들은 이것을 이해하게 하는 것은 불가능하다고 생각한다.프로그래머를 제외하고는 기본적으로 지점과 합병을 쓰지 않기 때문에 svn이 되어도 되겠죠.프로그래머가 보기에 svn은 이미 안 된다.
Reference
이 문제에 관하여(git의 지점에 대해 간단명료하게 설명해 보아라), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Ratty27/items/a5725b01eb60e9940998텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)