2016-06-02 4 views
11

Gerrit에게 리뷰를 보내고 얼마 동안 검토가 보류 상태 인 경우 Gerrit에 cannot merge 메시지가 표시됩니다.Gerrit에서 병합 할 수 없습니다.

다른 사람이 동일한 파일/파일을 변경하고 나에게 전달했기 때문에 그 사실이 이해되었습니다. 내 문제를 해결하기 위해 해결 방법 아래에 노력하고 있습니다.

  1. 현재 리뷰를 포기하십시오.
  2. 체리 - 선택은 이전 분기에서 커밋의 나 풀을 가지고이 작동하지만 내가 가진 무엇이든 검토 의견은 더 이상 사용할 수 없을 것

리트 보내, 새 로컬 브랜치를 만들고있다 내 검토자가 다시 확인하기가 어렵습니다.

현재 검토에서 cannot merge을 제거 할 방법을 찾고 있습니다. 감사!

답변

20

"병합 불가"문제를 해결하기 위해 Gerrit의 현재 변경 사항을 포기할 필요는 없습니다. 당신이 할 필요가있다 :

  1. 업데이트 로컬 저장소 (자식 가져 오기)
  2. 실행 수동 REBASE
  3. 이 충돌을 해결 (자식 REBASE) (자식 mergetool)
  4. 가 (수정) 커밋 그 결과 대부분하지 병합이 가능 해결할 수있는
+0

감사합니다. :) –

+0

와우, 병합 단계에 있다면 어떻게 할 수 있니? – Koshinae

+1

변경 사항을 제출하기 전에 필요한만큼 커밋을 수정할 수 있습니다. 자세한 내용은 https://gerrit-review.googlesource.com/Documentation/intro-quick.html을 참조하십시오. –

2

git/gerrit를 사용하여 공유 코드 기반을 작업 할 때 가장 좋은 방법은으로 변경을 으로 유지하는 것입니다. 한편으로, 이런 식으로, 누군가가 자신의 변경 사항을 합병하여 기회가 줄어들 때까지. 한편은 가능한 한 빨리 리베이스로 변경하여보다 쉽게 ​​검토 할 수 있습니다.

이 질문에 대한 답변을 모르겠지만이 두 규칙을 따르고 아무런 문제가 없습니다.

+0

어떻게 변경 사항을 최소한으로 유지할 수 있습니까? –

+2

저에게 최소한의 변경 사항을 유지하는 것은 리팩토링 코드를 새 코드와 혼합하지 않고 리팩토링 커밋, 구현 커밋, 테스트 커밋 (대부분 테스트 커버리지 증가), 종속성 업그레이드 커밋 등의 범위로 커밋을 분할하는 것을 의미합니다. 또 다른 한가지는 가능한 한 격리 된 상태로 유지하려고 시도한다는 것입니다 (기능 및 테스트 만) – Timotei

4

rebase 버튼 사용해 리트 (자식 누름)에

  • 눌러 새로운 패치 세트를 (자식은 --amend 커밋) 고소하다. 자체적으로 rebase 할 적절한 커밋을 찾을 수 있다면 괜찮습니다. 그렇지 않으면 대상 분기의 마지막 커밋을 찾고 커밋 빈 칸을 채 웁니다. 때로는 먼저 커밋을 제출해야합니다.이 커밋에는 종속성이 병합되지 않습니다. 어쨌든 작동하지 않으면 방치하고 최신 커밋을 기반으로 커밋하십시오.