0

私は何人かのフリーランサーを雇う必要がありますが、彼らが以前のコミットを見ることを許可せず、現在の状態だけを見るようにしています。したがって、私の github でプライベート リポジトリのクローンを作成し、.git コミット履歴を削除し、クローン リポジトリをパブリックとして github アカウントに追加し、フリーランサーにそのリポジトリをフォークさせ、変更を含むプル リクエストを送信してもらいたいと考えています。次に、コミット履歴全体を使用して、変更を元のプライベート リポジトリに戻します。

これを行う最良の方法は何ですか?ありがとう

4

1 に答える 1

1

public-repo と private-repo に異なるルート コミットを効果的に持たせたいので、完全な履歴を持つ private-repo に変更を完全に戻すことはできないと思います。

あなたの最善の策は次のとおりだと思います:

  • でリポジトリのスナップショットを取得しますgit archive
  • それを新しい公開リポジトリでの最初のコミットとして使用します (したがって、履歴を押しつぶします)。
  • 説明したように、開発者がプルリクエストをフォーク、作業、および送信できるようにします。
  • 次のいずれかを使用して、パブリック リポジトリからプライベート リポジトリにコミットをコピーします。
    • git format-patch公開レポ、git am非公開レポ
    • git cherry-pickリモートと個々のコミットの両方を追加します
    • 両方のリモートとgit rebaseパブリック ブランチをプライベート ブランチに追加します。これを試す前に、Rebase の仕組みをよく理解しておく必要があります。
于 2011-04-28T09:45:07.480 に答える