4

私はDVCSを初めて使用するので、ご容赦ください...

私はソフトウェアライブラリの作成者であり、現在BitBucketでプライベートリポジトリとしてホストされています。ライブラリのソースコードを公開したいのですが、次の設定で行います。

  • BitBucketにプライベートリポジトリとパブリックリポジトリの2つのリポジトリを維持したいと思います。
  • パブリックリポジトリの初期コンテンツを、履歴のないプライベートリポジトリの現在のコンテンツにしたいのですが。
  • パブリックリポジトリに触れずに、引き続きプライベートリポジトリへのコミットを行いたいと思います。次に、たまに、プライベートリポジトリに大量のコミットを取り、それらを単一のチェンジセットとして、独自のコミットメッセージとともにパブリックリポジトリにプッシュしたいと思います。

どうすればこれをやってのけることができますか?それが役に立ったら、私のプライベートリポジトリには1つのブランチ(メインのブランチ)しかありません。

4

2 に答える 2

3

これは簡単です。私は「公開」ブランチを作成し、パブリックリポジトリにプッシュしたいときはいつでもそれにマージします。次に、convert拡張機能を使用して、この1つのブランチのみを抽出します。

ただし、このように作業することはほとんどありません。潜在的な貢献者は通常、密室での開発に我慢したくありません。オープンソースの作業では、通常、バグトラッカー、ソースリポジトリ、wiki、メーリングリスト、レビューなど、すべてを開くのが最善です。</ p>

于 2012-07-31T08:08:37.917 に答える
3

チェンジセットの連結

チェンジセットの連結は、これらの技術の1つを使用するか、。を使用して拡張機能をリベース--collapseすることで実現できます。

分岐構造

やりたいことを行うには、詳細なコミットを含む開発ブランチと、連結されたコミットを含む公開ブランチが必要です。公開ブランチに祖先としての開発ブランチからのノードがない限り、公開ブランチのみをプッシュできます。つまり、上記のオプションの1つを使用する必要があります。開発ブランチを公開ブランチにマージすることはできません。これは、開発ブランチノードをパブリックブランチの祖先として設定し、それらのノードをプッシュする必要があるためです。

論争

これは可能ですが、@ Ringdingに同意します。これは、日常的なワークフローではありません。これを行わない2つの理由は次のとおりです。

  1. ワークフローに不必要な複雑さを追加しているので、物事はもっと単純になるはずです。
  2. これらの開発チェンジセットは、最終バージョンに至るまでの進化的なステップであり、歴史の一部であり、嘘のように隠れています。そのため、履歴編集ツールは拡張機能であり、コアコマンドではなく、通常のワークフローの一部であってはなりません。
于 2012-07-31T11:43:45.423 に答える