처음으로 누군가와 git을 사용해서 협업을 시작해 보려 했다.
대충 이론으로 배웠던 대로 브런치를 각자 하나씩 가지고 개발한 다음 merge 하면 되겠거니라고 생각 했던 난 github 저장소를 3개쯤 다시 만들고 있을 때 gitflow라는 게 있다는 것을 알게 되었다.
우리가 지금 사용하고 있는 저장소는 openSeatsGitTest인데 저것도 사실 테스트용으로 만들었다가 잘 돼서 그냥 그대로 사용하고 있는 거다 ㅋㅋ
git flow에는 뭐 여러가지 branch들이 있다고 한다.
gitflow라고 하면 가장 많이 나오는 그림인 거 같다. (우아한 기술블로그에서 가져옴)
처음 git flow를 이해할때 이 그림이 많이 도움이 됐다.
저기서 우리는 release, hotfix를 제외한 feature, develop, main브런치만 쓴다.
뭐 아직 출시는 보이지도 않기 때문에 release, hotfix는 딱히 쓸 일이 없을 것 같기 때문.
우리 프로젝트의 git graph다.
우리의 git flow를 설명하자면.
우린 각자 개발할 기능을 가진 이름으로 최신 develop브런치에서 feature/기능이름 이런 식으로 브런치를 만든다.
각자 기능을 다 만들고 나면
develop브런치에서
feature/기능1
feature/기능2
를 각각 merge 한다. 이때 우린 --no-ff 옵션을 준다. 우린 그냥 기록을 쉽게 보기 위해서 그렇게 하는데 다른 사람들은 어떻게 쓰는지 궁금하다.
merge가 끝나면 develop브런치를 원격 저장소로 push 한다. 그 후 완성된 최신 develop브런치를 가지고 또 만들 기능이 있다면 feature 브런치를 만들어 새로운 기능 개발을 시작한다.
그러다 큰 기능이 완성되면 main에서 develop을 merge 한다. 이때도 마찬가지로 --no-ff옵션을 준다.
이렇게 하는 게 협업을 할 때 유용하게 쓸 수 있는 git flow인 것 같긴 한데.. 우리가 똑바로 사용하고 있는 게 맞는진 모르겠지만 우린 잘 사용하고 있다.
git은 아직도 좀 어렵다. merge 했다가 충돌 났을 때, 후임과 함께 있는 경우 라면 같이 충돌난 부분을 수정해 가면 되지만 각자의 다른 장소에서 충돌이 나면 나나 후임 각자 알아서 충돌을 해결해야 하는데 서로 쓴 코드를 분석해 가며 충돌을 해결해야 하는 방법밖에 없는지 궁금하다.
처음으로 협업이란 걸 해보니 이것저것 신경 쓸게 많은 것 같다.
git을 잘 쓰기 위해서 이것저것 많이 만져보는 게 최선인 것 같다.
04. 배치 GUI 중간 점검, chat gpt로 코딩하기 (0) | 2023.06.30 |
---|---|
03. 배치 GUI구현해보자 (Fabric JS, Konva JS) (0) | 2023.06.16 |
02. 프로필 업로드 기능을 만들어 보자 (0) | 2023.06.02 |
00. 웹 개발 시작 (0) | 2023.05.26 |
안드로이드 스튜디오, 파이어베이스 연동하기 (0) | 2021.07.20 |