여기 기술적으로 잘못된 것보다 더 많은 영향을 미치는 몇 가지 오해가있을 수 있습니다.
먼저, 일반적으로 마스터 분기에 직접 커밋하지 않아야합니다.당신이 당신의 상황을 묘사하는 방식에서, 그것이 일어 났는지 아닌지는 잘 모르겠지만, 그렇다면 그것을하지 않으려 고합니다.
깨끗하게 마스터에 병합 할 수없는 것을 발견하면 마스터 자체에서 문제를 해결하지 마십시오. 대신, 지사 지점에서 문제를 해결해야합니다. 일단 그곳에서 문제를 해결하면 마스터에 깔끔하게 병합 할 수 있습니다.
rebase가 실행되는 한 원격 저장소로 푸시하기 전까지는 리베이스를 사용하는 것이 좋습니다. 원격 저장소에 뭔가를 밀어 넣었 으면 rebase를 원하지 않습니다. 그러면 다른 누군가의 역사를 엉망으로 만들고 git로는 그 사실을 해결할 수 없습니다. 따라서 rebase를 두려워하지 말고, 언제 사용할지, 사용하지 않을지를 아십시오.
여기에서 리베이스를 사용할 수있는 한 가지 방법은 (문제의 지점을 원격으로 푸시하지 않았다고 가정 할 때) 문제를 해결하는 데 도움이 될 수있는 기능 브랜치를 완전히 마스터로 병합하고 리베이스하는 것입니다 석사. 이렇게하면 해당 지점에서 문제를 해결해야합니다. 일단 해결되면, 마스터로 합병은 사소한 일이되어야합니다 (그 동안 마스터가 다시 변경되지 않는 한). 그러면 마스터로 완전히 합쳐질 수 있습니다.
git을 사용할 수있는 자습서가 많이 있으며 멋진 코드 예제도 있습니다. 여기에 '고전적인'것 중 하나가 있습니다. 여기서 설명한 워크 플로가 잘 작동한다고 생각합니다. http://nvie.com/posts/a-successful-git-branching-model/
I가 시도 '자식 흐름'이라는 bash는 스크립트 세트를 승인하고 있지 않다 유의하시기 바랍니다이 워크 플로우 (우리가 그들을 시도 할 때 이러한 스크립트가 우리를 위해 아주 잘 작동하지 않았다)하지만, 워크 플로우 자체를 세미 - 자동화 거기에서 설명한 것은 잘 작동한다.