機能ブランチを作成しました。たとえば、feature/branch1
githubに。私はそれのプルリクエストを作成し、それをマージしました。
パイプラインに到達したとき、問題があると判断し、Gitの[元に戻す]ボタンを使用して元に戻しました。これにより、「元に戻す」PRが作成され、マスターとマージされ、すべてが順調でした。
数週間後、マスターに統合された他のPRを投稿しました。revert-the-revert今回は、閉じられた「元に戻す」PRに入り、「元に戻す」ボタンをもう一度使用しようとしました。しかし、私たちはこのエラーメッセージを受け取りました
Sorry, this pull request couldn't be reverted automatically.
It may have already been reverted, or the content may have changed since it was merged.
どうすれば元に戻すことができますか?
私が望む最も理想的な状況は、revertの(== --- ==)revertを含む新しいブランチを用意することです。 PRプロセスに戻ります。
あなたが見るエラーは私が個人的に不要だと思っているgithubの人工的なチェックです。ローカルで元に戻すことができます:
git fetch Origin master
git checkout Origin/master (or reset)
git revert <REVERT HASH>
git Push Origin master
これは成功するはずです。モジュロは、復帰以降に行われた変更と競合します。
PS:実際には、エラーは競合が原因である可能性があります。
あなたが試すことができるものは:
git reset --hard old_commit
)元に戻したいコミットへのPRブランチ(元に戻されたもの)git Push --force
)そのブランチ:PRを更新しますこのようにして、PRは古いコミットで再度実行されます。
これはマージコミットです。 PRはすでに閉鎖され、統合されています。
その場合、その古いPRブランチをフェッチすると、次のことができます。
git log
その上(git log Origin/old_pr_branch
)現在必要なコンテンツを表す、古いSHA1コミットからの新しいブランチ
git checkout -b new_pr_branch old_sha1
原点へのプッシュ
git Push -u Origin new_pr_branch
その後、適切なコンテンツを使用して、その新しいブランチから新しいPRを作成できます。