강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

CodingSoon님의 프로필 이미지
CodingSoon

작성한 질문수

제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편

상품 목록 - 코드 느끼기

AI 를 적용시 브랜치를 다루는 팁 같은게 있을까요?

작성

·

22

1

AI로 코드를 분석해보거나
레거시의 수정 포인트를 느껴보거나 하는 부분은
많이 와닿았는데요.

AI 가 코드를 수정한 이후에
코드를 비교해보는 영역에서 브랜치를 어떻게 관리하는게 좋을 지 의문이 들었습니다.

AI 가 다수의 코드를 변경하고 있는데, 실제 실무에서는 한 꺼번 에 코드를 바꿔버리면 diff가 너무 많아서 개발시 우려되는 부분이 많이 생깁니다.

gpt에 물어보면 ai/product-draft 와 같이 실험용 브랜치에서 작업 이후에 선별하여 수정하라는 답변을 받았는데요.

아직 섹션3을 수강하고 있어서, 이른 질문일지 모르지만
해당 사항 관련하여 실무적인 관점에서 실제로 어떻게 하는게 좋은 방법일 지 조언 한 번 부탁드립니다.

답변 2

0

제미니님의 프로필 이미지
제미니
지식공유자

안녕하세요 질문 감사드립니다!

오...! 사실 이 부분은 이번 강의에서 직접적으로 언급하지는 않습니다만! 중요한 부분 같습니다! (저도 계속 실험하면서 고민하고 있는 부분이고요)

 

이것 관련해서는 여러 전략을 사용하는 것 같은데요

기본적으로는 AI에게 요청한 Task별로 브랜치를 분리 하는게 아직은 좋다고 생각합니다

가령 동시적으로 작업을 시킬때 main 브랜치 그 자체에 모두 작업을 한다면 생각보다 작업 사항이 제대로 이행됬는지 스르륵 (또는 꼼꼼히) 리뷰하기가 힘들어집니다

그래서 AI에게 요청할 작업 단위를 적절히 나눴고 병렬 적으로 Task를 돌린다면 자연스럽게 브랜치를 나누는게 맞다 생각하는 것 같습니다

 

+아예 같은 repo를 local에 n개 clone 받아서 병렬로 돌리시는 분들도 있다고 합니다
(다만 이제 AI Agent들이 worktree 자체를 너무 잘 활용해서 이럴 필요도 없다고 하시는 분들도 있구요ㅎㅎ, 저도 몇번 테스트 해봤는데 정신 없기도하고 괜찮기도 했습니다)

 

++ 이런 전략 또한 사실 매일 바뀌는 것 같습니다, 트렌드가 너무 빠르게 변화고 진화하고 있어서 잠깐 놓치면 다른 전략이 대세더라구요ㅎㅎ.. 최근에 본 어떤 분 의견은 브랜치 분리 자체가 필요 없다 라고 말하신 분들도 있었습니다ㅎㅎ;;


모쪼록 답이 되었길 바랍니다! 감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. CodingSoon님.

AI를 적용하여 코드를 수정할 때, 특히 대규모 코드 변경이 이루어질 경우 브랜치 관리와 관련된 고민을 하는 것은 매우 중요한 사항입니다. 이런 상황에서 실무적으로 도움이 될만한 몇 가지 팁을 소개합니다.

AI로 인한 코드 변경 시 브랜치 관리 팁

  1. 실험적인 브랜치: AI가 수정한 코드는 ai/product-draft와 같은 실험적 브랜치에서 작업하는 것이 좋습니다. 이렇게 하면 메인 브랜치와 별도로 변경 사항을 테스트할 수 있어서 리스크를 관리할 수 있습니다.

  2. 작은 단위로 분리: AI가 많은 코드를 변경했다면, 이를 가능한 작은 단위로 나누어 별도 브랜치로 관리합니다. 각 기능 단위나 논리적 변경점마다 별도 브랜치를 생성하여 리뷰와 테스트가 용이하도록 합니다.

  3. 단일 책임 원칙 준수: 한 개 브랜치에서 여러 변경 사항을 한 번에 처리하기보다는, 한 개 브랜치에는 한 가지 기능 수정이나 개선사항만 포함하도록 합니다. 이는 변경 사항이 명확하게 구분되고, 충돌 해결 시에도 도움이 됩니다.

  4. 코드 리뷰의 강화: AI가 변경한 코드 특성을 이해하기 위해 코드 리뷰 절차를 강화하고, 관련된 모든 이해당사자가 리뷰를 할 수 있도록 합니다. 이렇게 함으로써 의도치 않은 코드 변경으로 인한 리스크를 줄일 수 있습니다.

  5. 자동화된 테스트 사용: 변경된 코드에 대해 자동화된 테스트를 적극 활용합니다. 이로써 AI가 만든 변경 사항이 기존 시스템의 기능을 해치지 않는지 검증할 수 있습니다.

위의 전략을 통해 큰 변화가 있더라도 보다 안전하고 일관된 방식으로 코드 변경을 관리할 수 있습니다.

관련 주제에 대해 더 알아보고 싶다면, 아래에 유사한 질문이 담긴 링크를 참조하시길 추천드립니다:
- 코드 업데이트 및 관리 전략

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

CodingSoon님의 프로필 이미지
CodingSoon

작성한 질문수

질문하기