베타 분기를 마스터 분기에 병합했습니다. 나는 원래로 밀었다. 나는 이제 마스터가 로컬 및 원격으로 합병되기 전과 같이되기를 원합니다.git-revert를 사용하여 푸쉬 된 병합을 취소하기 위해 해시를 커밋하는 것은 무엇입니까?
undoing a merge that was already pushed에 대한 좋은 대답은 내가 commit_hash을 확인하는 방법이 참 길을 가야하는 경우
git revert -m 1 commit_hash
을 제안? 나는 실패 merge-base에 의해 반환되는 해시 시도 :
$ git merge-base --all master beta
1f4b949b7ef97abf913ae672e3acd0907abfac1b
$ git revert -m 1 1f4b949b7ef97abf913ae672e3acd0907abfac1b
error: Mainline was specified but commit 1f4b949b7ef97abf913ae672e3acd0907abfac1b is not a merge.
fatal: revert failed
내가 가지 모두 자식 로그 및 gitk이 렌 디션을 조사했습니다,하지만 그들은 매우 긴 것, 그리고 내가해야한다고 생각하는 나의 해석의 충분한 불확실입니다 아마 더 큰 혼란을 만들기 전에 도움을 요청하십시오. 베타는 마스터에서 파생 된 v2에서 파생되었습니다. 새로운 지사를 마스터와 함께 최신 상태로 유지하면서 마스터가 v2 및 베타로 일부 합병되었습니다. 베타 버전에서 마스터 버전으로의 합병은 실수를 저지른 것입니다.
병합 지점을 결정한 후에 합병 후에 실제로 베타 지점에 있어야하는 커밋을 찾으면이를 옮기는 가장 좋은 방법은 무엇입니까?
다음을 시도하십시오 : log --all --graph --pretty = tformat : '% Cred % h % Creset - % C (노란색) % d % Creset % s % Cgreen (% an % cr) % Creset - abbrev-commit --date = relative' (개인적으로 별칭), 모든 브랜치의 커밋과 날짜, 그리고 머지가 발생한 위치를 표시합니다. –