インスピレーションと洞察から生成されました 11 ソースから

img1

img2

img3

img4

img5

img6

はじめに

  • GitHub上でのリビジョンロールバックは、主に[git revert](prompt://ask_markdown?question=git+revert)[git reset](prompt://ask_markdown?question=git+reset)のコマンドを使用して行います。

  • git revertは、特定のコミットを元に戻す新しいコミットを作成し、プロジェクトの履歴を保持します。

  • git resetは、特定のコミットにリポジトリをリセットし、履歴を変更します。--hardオプションを使用すると、作業ツリーとインデックスもリセットされます。

  • GitHubのWebインターフェースでは、特定のコミットに移動し、[元に戻す]ボタンをクリックすることでリビジョンをロールバックできます。

  • GitHub Desktopを使用する場合、履歴タブで元に戻したいコミットを右クリックし、[Revert Changes in Commit]を選択します。

リセットとリバートの違い [1]

  • リセット: 元に戻した痕跡を残さず、履歴を変更します。

  • リバート: 戻したという事実をコミットして残し、履歴を保持します。

  • リセットはgit resetコマンドを使用し、リバートはgit revertコマンドを使用します。

  • リセットは、特定のコミットにリポジトリを戻し、以降のコミットを破棄します。

  • リバートは、特定のコミットの変更を元に戻す新しいコミットを作成します。

img1

GitHub Desktopでの操作 [2]

  • GitHub Desktopでは、履歴タブで元に戻したいコミットを右クリックします。

  • コンテキストメニューから[Revert Changes in Commit]を選択します。

  • この操作により、選択したコミットの変更を元に戻す新しいコミットが作成されます。

  • 履歴を保持しつつ、特定の変更を取り消すことができます。

  • 操作は直感的で、GUIを使用するためコマンドラインの知識が不要です。

img1

img2

img3

WebStormでのロールバック [3]

  • WebStormでは、Gitツールウィンドウのログタブでコミットを選択します。

  • コンテキストメニューから[コミットの取り消し]を選択します。

  • プッシュされたコミットも元に戻すことが可能です。

  • 選択したコミットの一部のファイルのみを元に戻すこともできます。

  • コミットを削除することも可能で、履歴に反映されません。

img1

img2

コマンドラインでの方法 [4]

  • git logを使用してコミット履歴を表示します。

  • git checkoutで特定のコミットに移動します。

  • git reset --hardでリポジトリを特定のコミットにリセットします。

  • git revertで特定のコミットを元に戻す新しいコミットを作成します。

  • コマンドラインは柔軟で、詳細な操作が可能です。

img1

GitHub Actionsでのロールバック [5]

  • GitHub Actionsを使用して、CI/CDパイプラインでロールバックを自動化できます。

  • 特定のコミットに基づいてデプロイをロールバックすることが可能です。

  • ECSタスクのデプロイフローを整備し、GitHub Actionsで管理できます。

  • ロールバックは、デプロイの失敗時に自動的にトリガーされるように設定できます。

  • GitHub Actionsは、柔軟なワークフローを提供し、開発プロセスを効率化します。

img1

関連動画

<br><br>

<div class="-md-ext-youtube-widget"> { "title": "Github Rollback", "link": "https://www.youtube.com/watch?v=jAeuIATUfXI", "channel": { "name": ""}, "published_date": "Apr 5, 2024", "length": "8:57" }</div>

<div class="-md-ext-youtube-widget"> { "title": "How To Rollback a Deployment in Google Cloud Deploy", "link": "https://www.youtube.com/watch?v=5pDG235uYFI", "channel": { "name": ""}, "published_date": "Sep 9, 2022", "length": "2:33" }</div>