みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
ノンプログラマー向けにGitHubを組織で活用する方法をシリーズでお伝えしています。
前回の記事はこちら。
GitHubでフォークしたリポジトリからプルリクエストを作成する方法をお伝えしました。
さて、プルリクエストがマージされたとき、フォーク元のリポジトリと、フォークしたリポジトリでは差分が生まれてしまいます。
今回は、それを解決するために、原始的にフォークしたリポジトリを削除して、再度フォークするという方法を紹介します。
ということで、GitHubでフォークしたリポジトリを削除してフォークし直す方法をお伝えします。
では、行ってみましょう!
フォーク元との差分を解決する方法
前回までで、書き込み権限がないリポジトリをフォークすることで、そのプロジェクトに参加できるよということをお伝えしてきました。
以下の手順です。
- 元のリポジトリをフォークして、自分のアカウントにコピーする
- フォークしたリポジトリにブランチを作成して変更を加える
- 元のリポジトリのmainブランチにマージしてもらうべく、プルリクエストを作成する
さて、再度このプロジェクトに参加したいとき、自分のアカウントのフォークしたリポジトリを使えばいいと思うかも知れません。
しかし、こんなことが起きます。
- 元のリポジトリのmainブランチのコミットがさらに進んでしまっている
- そもそも前回のマージコミットが、フォークしたリポジトリに反映されていない
つまり、元のリポジトリとフォークしたリポジトリとの差分が発生しているということです。
これを埋めるためにはどうしたら良いでしょうか?
フォークしたリポジトリをそのまま使用する
本来は、フォークしたリポジトリに、フォーク元のリポジトリからプルしたものをプッシュして反映、そのまま継続して使用するというのがかっこいいのです。
以下記事をご覧いただければと思います。
ただ、GASのプロジェクトでGAS GitHubアシスタントを使っている場合、プル・プッシュはコミットの履歴ではなく、最新のコミットのみが対象となるので、完全に同一にすることができません。
元リポジトリからフォークし直す
ということで、今回はもっと原始的な方法を紹介します。
フォークしたリポジトリを削除して、もう一度フォークするという方法です。
リポジトリを削除する
では、まずリポジトリを削除する必要がありますので、その方法を見ていきましょう。
GitHubで対象となるリポジトリを開いて、「Settings」をクリックします。
ずーっと下のほうにスクロールすると「Danger Zone」といういかついエリアがあります。
ここで、「Delete this repository」を選択します。
「Are you absolutely sure?」というダイアログが開きます。
ここで確認のために「ユーザー名/リポジトリ名」を入力して、「I understand the consequences, delete this repository」をクリックします。
間違えると大変なので、よく確認の上、進めてくださいね。
これで、リポジトリの削除が完了です。
再度フォークする
あとは、元のリポジトリを開き、再度フォークをすればよいですね。
以前の記事に紹介していますので、ご覧ください。
リポジトリを開くと、mainブランチの最新コミットに「Merge pull request nonprokun#1 form nonpro…」とあり、前回してもらったマージコミットが反映されていることがわかりますね。
まとめ
以上、GitHubでフォークしたリポジトリを削除してフォークし直す方法をお伝えしました。
もうちょっとスマートにやりたいところですが…リポジトリの削除についてはぜひ注意して作業してくださいね。
次回は話題を変えまして、プロジェクトの課題を管理するIssueの機能について紹介します。
どうぞお楽しみに!