Rails Encrypted Credentials 병합 충돌 해결 워크플로우는 다음 네 단계로 진행됩니다.
1. 자격 증명 파일 추출 및 비교
-
master와 현재 브랜치에서rails credentials:show를 통해 암호화된 자격 증명 내용을 평문 파일로 추출합니다. -
두 평문 파일의
diff를 확인하여 변경 사항을 파악합니다.
2. 병합 내용 수동 편집
-
master브랜치에서 추출한 파일을 기반으로proposed_master_credentials.yml을 생성합니다. -
이 파일을 수동으로 편집,
master와 현재 브랜치의 모든 변경 사항을 통합한 최종 자격 증명 내용을 만들고 클립보드에 복사합니다.
3. 리베이스 중 충돌 해결
-
git rebase master시config/credentials.yml.enc에서 병합 충돌이 발생합니다. -
Git 충돌 마커로 인한 파일 손상을 막기 위해
git restore명령으로 파일을 복원합니다. -
rails credentials:edit으로 편집기를 열어 기존 내용을 클립보드의 최종 내용으로 교체 후 저장합니다.
4. 변경사항 커밋 및 정리
-
업데이트된
config/credentials.yml.enc를git add하고git rebase --continue로 리베이스를 완료합니다. -
git diff로 변경 내용을 검증 후,git push --force로 원격 저장소에 푸시합니다. -
보안을 위해 임시 평문 자격 증명 파일들을 모두 삭제합니다.
이 방법은 민감 정보를 평문으로 다루는 보안 위험, 수동 작업의 복잡성, 코드 리뷰의 어려움을 내포합니다.