여러 git 브랜치를 병합할 때의 모범 사례
개요
복수의 개발자가 git을 이용하여 개발할 때, 복수의 개발 브랜치를 작성해, 브랜치를 평행 운용하는 것이 일반적이다. 궁극적으로 복수의 브랜치는 하나의 브랜치로 병합되어야한다. 여기서, 복수의 개발 브랜치를 최종적으로 하나의 브랜치에 병합 할 때의 병합 방법을 생각해 보자.
기본 병합 방법과 그 과제
예를 들어 master 브랜치에서 파생한 여러 개발 브랜치 dev1, dev2, dev3을 각각 다른 개발자가 수정하고 최종적으로 master 브랜치에 병합할 때 그림 1의 순서로 병합한 적은 없을까?
그림 1
간단하고 알기 쉬운 병합 방법 때문에, git 초보자는 한 번은 이 방법으로 병합한 적이 있다고 생각한다. 그러나이 병합 방법에는 단점이 있습니다. 그것은 다른 사람의 수정을 무시하고 지울 수 있습니다.
그림 1의 예에서 dev1이 먼저 master에 병합되어 있기 때문에 dev2가 먼저 병합 된 dev1의 수정을 덮어 쓰고 지워 버리거나 dev3이 먼저 병합 된 dev1과 dev2의 수정 을 덮어쓰고 지울 수 있다.
타인의 수정을 지우지 않는 병합 방법
타인의 수정을 지우지 않도록 병합하기 위해서는, 도 2와 같이 병합하고 싶은 브랜치의 수정을 최초로 병합하는 방법을 취한다.
그림 2
그림 2의 예이면 dev2를 master에 병합하기 전에 master에 병합 된 dev1의 수정이 dev2에 병합됩니다. dev3을 master에 병합하기 전에 dev1과 dev2 수정이 dev3에 병합됩니다. dev1, dev2, dev3 브랜치의 수정은 확실히 사라지지 않고 master 브랜치에 병합됩니다.
남은 과제
도 2와 같은 병합 절차이면, 복수의 개발자가 복수의 git 브랜치를 평행 개발하고 있어도, 타인의 수정을 덧쓰기해 지워 버리는 일은 없다. 그러나 병합하는 횟수가 증가하기 때문에 병합하는 데 드는 비용이 증가합니다.
그래서 그림 2의 병합 절차를 자동화한 gitmerge라는 쉘 스크립트를 작성해 보았다. 설치 방법이나 이용 방법은 여러 git 브랜치 병합 자동화 gitmerge 에서 소개하고 있다.
Reference
이 문제에 관하여(여러 git 브랜치를 병합할 때의 모범 사례), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/cocoa-maemae/items/bbe6cde20cc1afde0c04
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
예를 들어 master 브랜치에서 파생한 여러 개발 브랜치 dev1, dev2, dev3을 각각 다른 개발자가 수정하고 최종적으로 master 브랜치에 병합할 때 그림 1의 순서로 병합한 적은 없을까?
그림 1
간단하고 알기 쉬운 병합 방법 때문에, git 초보자는 한 번은 이 방법으로 병합한 적이 있다고 생각한다. 그러나이 병합 방법에는 단점이 있습니다. 그것은 다른 사람의 수정을 무시하고 지울 수 있습니다.
그림 1의 예에서 dev1이 먼저 master에 병합되어 있기 때문에 dev2가 먼저 병합 된 dev1의 수정을 덮어 쓰고 지워 버리거나 dev3이 먼저 병합 된 dev1과 dev2의 수정 을 덮어쓰고 지울 수 있다.
타인의 수정을 지우지 않는 병합 방법
타인의 수정을 지우지 않도록 병합하기 위해서는, 도 2와 같이 병합하고 싶은 브랜치의 수정을 최초로 병합하는 방법을 취한다.
그림 2
그림 2의 예이면 dev2를 master에 병합하기 전에 master에 병합 된 dev1의 수정이 dev2에 병합됩니다. dev3을 master에 병합하기 전에 dev1과 dev2 수정이 dev3에 병합됩니다. dev1, dev2, dev3 브랜치의 수정은 확실히 사라지지 않고 master 브랜치에 병합됩니다.
남은 과제
도 2와 같은 병합 절차이면, 복수의 개발자가 복수의 git 브랜치를 평행 개발하고 있어도, 타인의 수정을 덧쓰기해 지워 버리는 일은 없다. 그러나 병합하는 횟수가 증가하기 때문에 병합하는 데 드는 비용이 증가합니다.
그래서 그림 2의 병합 절차를 자동화한 gitmerge라는 쉘 스크립트를 작성해 보았다. 설치 방법이나 이용 방법은 여러 git 브랜치 병합 자동화 gitmerge 에서 소개하고 있다.
Reference
이 문제에 관하여(여러 git 브랜치를 병합할 때의 모범 사례), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/cocoa-maemae/items/bbe6cde20cc1afde0c04
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
도 2와 같은 병합 절차이면, 복수의 개발자가 복수의 git 브랜치를 평행 개발하고 있어도, 타인의 수정을 덧쓰기해 지워 버리는 일은 없다. 그러나 병합하는 횟수가 증가하기 때문에 병합하는 데 드는 비용이 증가합니다.
그래서 그림 2의 병합 절차를 자동화한 gitmerge라는 쉘 스크립트를 작성해 보았다. 설치 방법이나 이용 방법은 여러 git 브랜치 병합 자동화 gitmerge 에서 소개하고 있다.
Reference
이 문제에 관하여(여러 git 브랜치를 병합할 때의 모범 사례), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/cocoa-maemae/items/bbe6cde20cc1afde0c04텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)