나는 최근 GIT의 기능 브랜치 리베이스 전략에 반대하는 사람들과 토론을했습니다. 로컬, 개인 브랜치에 대해서만 리베이스를 사용하는 것이 허용되는 패턴 인 것 같지만,이 "소위 골든 리베 이싱 규칙"에 따라 동일한 기능 및 브랜치에서 작업하는 여러 사람이있을 때는 사용하지 않는 것이 좋습니다 (예 : https : : //www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview )
이것에 대한 합의가 있다는 것이 놀랍습니다. 나는 약 20 명의 개발자가 함께 작업하고 무엇을 추측했는지와 함께 완전한 rebasing 전략으로 3 년 동안 일했습니다.
프로세스는 기본적으로 다음과 같습니다.
- 피처 브랜치를 만들고 "myfeature"라고 부르고 origin / myfeature로 푸시합니다.
- 다른 사람들이 확인하고 작업 할 수 있습니다.
- 때로는 마스터에서 rebase 할 수 있습니다 : "myfeature", git rebase origin / master ; 그렇습니다, 당신은 그것을 강제로 밀어야합니다.
- 다른 사람들이 커밋을 추진하려고하면 어떻게됩니까? 그들은 그것을 rebase합니다 : git rebase origin / myfeature . 그래서 그들은 앞으로 빨리 가고 있으며 강제하지 않고 그것을 밀 수 있습니다.
존중할 유일한 원칙 은 기능 분기가 누군가가 소유 한다는 것 입니다. 소유자는 푸시 강제 할 수있는 유일한 사람입니다.
따라서 저는 인정합니다. 푸시 포스가 발생하자마자 오류가 발생할 위험이 있습니다. 사실입니다. 그러나 오류를 복구하는 방법은 여러 가지가 있으며 실제로 3 년 간의 개발 과정에서 많은 강제 푸시 오류를 보지 못했습니다.
그렇다면 왜 "골든 리베이스 규칙"이 널리 받아 들여지고 있습니까? 내가 놓친 다른 것이 있습니까? 나는 최소한의 조직이 필요하다는 것을 알고 있지만 (모든 전략에는 일부 조직이 필요합니다) 작동합니다.