안정 분기의 변경 사항을 개발 분기로 다시 병합합니다. 나는 이것이 "진짜"병합이되기를 원한다. 내가 할 때 병합을 보여 주어야한다. git --graph --oneline
.커밋 메시지를 브랜치에서 마스터로 푸시하지 않고도 진짜 자식 병합을 수행 할 수 있습니까?
catch는 지점에서 모든 메시지를 커밋하고 싶지는 않지만 내 병합 메시지 만 커밋합니다. (우리 개발자의 커밋 메시지는 원격 훅에 의해 시행되는 특정 패턴을 따라야 만하지만 지사의 일부 커밋은 준수 할 필요가없는 '릴리스'사용자로부터 온 것입니다.)
분기에서 커밋 메시지를 푸시하지 않고 "실제"병합을 수행 할 수있는 방법이 있습니까? 내가 원하는
git merge -s recursive -X ours --no-commit 1.0_BRANCH
그리고 여기 내 (소독) 그래프가 정확히 어떤, 내가 커밋 후 모습입니다 : 여기
내가 (마스터에서) 순간에 병합하고있어 어떻게
* b3492a7 - (HEAD, master) DEV-3: Merging patch fix onto master <graham>
|\
| * eec2ef6 - (origin/1.0_BRANCH, 1.0_BRANCH) [maven-release-plugin] prepare for next development iteration <release>
| * c14dee4 - (application-1.1) [maven-release-plugin] prepare release application-1.1 <release>
| * 40687a4 - DEV-3: Fix to go into the patch <graham>
| * 4e71c98 - [maven-release-plugin] prepare for next development iteration <release>
| * c8828bb - (application-1.0) [maven-release-plugin] prepare release application-1.0 <release>
| * 46a9a59 - [maven-release-plugin] copy for branch 1.0_BRANCH <release>
* | 5ca3ec6 - (origin/master, origin/HEAD) DEV-2: First feature commit of next release <graham>
* | bd797d3 - [maven-release-plugin] prepare for next development iteration <release>
|/
* afff00f - [maven-release-plugin] prepare branch 1.0_BRANCH <release>
* b9329fb - DEV-1: Last feature commit before release <graham>
내 문제는 밀어 넣으려고 할 때 eec2ef6
의 커밋 메시지가 준수하지 않고 릴리스 사용자가 아니기 때문에 원격 훅이 밀어 넣기를 거부합니다. b3492a7
에서 메시지를 병합하여 병합을 수행 할 수 있습니까? 아니면 병합을 스쿼시해야합니까 (그래프에서 병합으로 표시되지 않는다고 생각됩니다)?
후크를 지능적으로 만드는 것이 좋습니다. 후드 아래에서, 내가 실제로 그 커밋을 또 다시 푸시하고 있지만, 다른 브랜치에서 실행하고있는 것인가, 아니면 내가 리모트에게 그 커밋들을 병합했다고 말하고있는 것인가? –
커밋이 원격 끝에 이미있는 경우 다시 커밋되지 않습니다. 그러나 후크는 커밋이 이미 원격 장치에 존재했는지 여부를 알지 못합니다. 병합의 한 쪽을 무시하거나 다른 브랜치에서 도달 할 수있는 커밋을 무시하도록 후크에서 일부 논리를 작성하고 시도 할 수 있지만 '릴리스'사용자를위한 IMO 특수 대소 문자는 더 쉬울 것입니다. – jbowes
후크는 구현 방법에 따라 커밋이 이미 존재했는지 여부를 추측 할 수 있습니다. 업데이트 훅으로 설정되면, 서버에 푸시되고있는 일련의 커밋마다 한번 호출됩니다 – Daniel