GitHubのフォークされたリポジトリを永久に保持する必要がありますか?


314

だから私は他の誰かのリポジトリをフォークし、いくつかの変更を行い、プルリクエストを送信し、私の変更がそれを製品に加えました。すばらしいです!

しかし...フォークされたリポジトリをどうすればよいですか?リポジトリを保持する理由はありますか、それとも削除してください。私は追加の貢献をするつもりはありませんが、気が変わったらいつでもそれを再分岐できると思います。

バックアップを保持することはあまり気にしません。リンクの切断、コミットメッセージの消失などが心配です。


80
それを削除しないと、githubはハッシュを使い果たします。
アルマン

3
重複したコードは悪です。そして、それはまたgitの境界を越えます。
stijn

7
@stijn-私はこれを「複製」というより「バックアップ」と読みます。そして、バックアップコードが悪であると主張する人を聞いたことはないと思います
...-Beekguk

3
消して。結局のところ、プロジェクトリポジトリからいつでも最後の状態(とにかく作業を続けたい状態)をダウンロードできます。
ルーク

元のレポが削除され、フォークが残っていない場合はどうなりますか?その場合にレポ/フォークへのアクセスを取り戻す方法は?
クロムスター

回答:


40

分岐したリポジトリを削除すると、プルリクエストから履歴が消去されます。

不明なリポジトリでのPR

分岐したリポジトリを削除すると、リポジトリに関連付けられている情報がすべて削除されます。これは、すでにマージされたプルリクエストを含む、リポジトリへの参照に遡及的に影響を与える可能性があります。(forkの削除後にプルリクエストが「不明なレポ」を表示するを参照)

コメントとコミット、リポジトリに関連付けられたプルリクエストで保持する必要がありますが、あなた自身の責任で行ってください。

ただし、マージ後に古いブランチを削除することは完全に安全です。

リポジトリの削除は避けるべきですが、未使用のブランチの削除は完全に受け入れられます。実際、GitHubは古いブランチを削除することをお勧めします

プルリクエスト後の片付け

GitHubでは、プルリクエストを終日、毎日使用しています。唯一の問題は、プルリクエストがマージまたはクローズされた後、多くの機能しないブランチが発生することです。スクリプトを使用してこれらのブランチをクリアすることもありますが、GitHub.comの通常のワークフローの一部としてこのステップを処理する方が良いと考えました。

今日から、プルリクエストがマージされた後、残留ブランチを削除するボタンが表示されます。

このブランチボタンを削除

プルリクエストがマージされずに閉じられた場合、ボタンは少し異なって見え、マージされていないコミットの削除について警告します。

警告付きでブランチを削除

もちろん、プッシュアクセスできるリポジトリ内のブランチのみを削除できます。

きちんとしたリポジトリをお楽しみください!

あるいは、本当に保持したくない場合は、リポジトリアーカイブして、アクティブに維持されていないことを示すことができます

こちらもご覧ください


1
ブランチを削除すると、マージされていないクローズプルリクエストはどうなりますか(引用記事の2番目のケース)。コミットはプルリクエストで、履歴なしでのみ利用できますか、それとも完全に削除されますか?
タイプミス


207

プルリクエストが受け入れられ、個人的に使用する可能性のある他の変更を行っていない場合は、削除する必要があります。

  1. 削除しても何も害はありません。
  2. 必要に応じていつでもリフォークできます
  3. 人々が何かを検索しているとき、検索結果の無駄なリポジトリを削減します
  4. GitHubを潜在的なジョブ/契約の履歴書のようなものとして使用する場合、現在作業していない多数の分岐レポジトリがない場合は、見栄えがよくなります。あなたはより効率的に見えるでしょう。
  5. 何百もの無用なリポジトリをページングする必要がない場合、それはあなた自身の正気を助けます。
  6. GitHubに適しています。:)

50
これの唯一の欠点は、プルリクエストに「マージされたコミット<commit>を<repo>from unknown repository<date>に」表示することです。これは少し奇妙です。
PLPeeters

18
@PLPeeters、実際、それはかなり大きなマイナス面です。
パセリエ

4
remove-github-forks「メインリポジトリにないコミットのないすべてのフォークを削除する」ことをお勧めします。魔法のように機能します。
-fregante

3
@SteveMoser私は間違っているかもしれませんが、あなたはまだ「あなたが貢献したリポジトリ」リストを保持していると思います。私はすべての接続を削除しましたが、それはどういうわけかそこにとどまりましたが、
おそらくは

17
私は、リスクを取り、フォークリポジトリを削除し、私の貢献のリストは、私が安全にフォークレポを削除すると、あなたの貢献のクレジットに影響を与えないだろうと言うことができるので、影響を受けませんでした
Aminのモハメドアジャニ

76

プルリクエストを送信すると、マージされているかどうかに関係なく、フォークを削除できますGitHubはすべてのPRをアップストリームリポジトリ格納します。つまり、提案された変更は、フォークが削除されても追跡されます。

これにより、決定が簡単になります。

次の場合は、フォークを保持したい場合があります。

  • すぐに貢献できるようになります(たとえば、既存のPRを拡張したり、新しいPRを開いたり)

次の場合は、フォークを削除できます。

  • 自分の名前のプロジェクトのきれいなポートフォリオが必要な場合

7
「プルリクエストを送信したらすぐにフォークを削除できます」これが私が探していたものです!
ウンナウート

私もですが、答えは「プルリクエストが受け入れられた場合...」で始まります。あなたはそれを試しましたか:D-
レジェンド

4
警告:フォークを削除すると、保留中のプルリクエストから元のブランチ名が削除されます。(Stevoisiakが1にコミットマージしたいDrugoy:masterからunknown repository
Stevoisiak

20

たぶんtar / gzipでアーカイブディレクトリに入れてから、3年後に削除します。;)正直に言って、もしあなたが今後数ヶ月間それを再び使うつもりがなく、しばらくそれを使わなかったら、削除しても安全だと思います。


9

提供された回答に追加するために、GitHub自体は、マージされた後、フォークされたリポジトリを削除(「整理」)することをお勧めします。

これは、マージ後のプルリクエストで行うことができます。このブログ投稿を参照しください。

さらに、現時点では、コメントに気がついた欠点はありません。

  • フォークされたリポジトリを削除した後でも、プルリクエストに正しいメッセージがあります(「不明なリポジトリ」はありません)
  • あなたが貢献したリポジトリはあなたの貢献活動にまだリストされています
  • あなたはまだそのリポジトリの貢献者にリストされています

@Dennisが示唆するように、マージする前に削除することはお勧めしません。作成者から要求された場合、コードを変更する必要があるかもしれません。


2
フォークされたリポジトリを削除したところ、プルリクエストに次のように表示されますunknown repository。しかたがない。
クラスシ

10
リンクは、PRマージが成功した後にブランチを削除する方法を説明する記事に移動します。ただし、この質問はリポジトリの削除について尋ねます。独自のプロジェクトフォーク(repository)を削除すると、「不明なリポジトリ」のみが観察されます
stakx

2
問題は、ブランチではなく、フォークを削除することです。
アンディ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.