5

編集 - 私はいくつかの検索を行い、私の質問のほとんどに対する答えを見つけたと信じています。これが私の調査結果の要約です。これが最善のアプローチであることを確認してください:

Opencart を使用して、会社の E コマース システムを開発する予定です。他の 2 ~ 3 人の開発者 (オフィスで一緒に、時にはリモートで) と協力して、Opencart のソース コードに多くの変更を加えます (会社のニーズに合わせてコードを調整します)。する計画である:

  1. Opencart からマスター ブランチを zip 形式でダウンロードし、開発目的でローカル リポジトリにインストールします。次に、それを Github にプッシュして、バックアップおよび中央のマスター リポジトリとして保管します。さらに、マスター ブランチにマージ/コミットして Github の (オリジン) リポジトリにプッシュするときに、デプロイ フックを使用してコードをサーバーにデプロイします。

注: Opencart プロジェクトへの 1000 以上の以前のコミットなしでリポジトリをクリーンに開始したいので、これを行っています。

  1. Github の Opencart プロジェクト リポジトリに移植する追加の「アップストリーム」リポジトリを設定します。これにより、将来、opencart プロジェクトに加えられたコミット/修正/新機能/改善を E コマース サイトに組み込むことができます。

2a) Git fetch の使用 - アップストリーム リポジトリからコミットを取得します。機能の改善 (Opencart リポジトリにコミットしても 100% 完了していない可能性があります) とバグ修正などは同じマスター ブランチにコミットされるため、Git のチェリー ピック機能を使用して、E に組み込むコミットを選択できますか? -商取引のソースを作成し、機能改善のための他のコミットを無視しますか?

質問:

フォークに取り組んでいないため、Opencart プロジェクトに貢献したい場合/いつでもプル リクエストを送信できますか? それとも、Github でフォークされたリポジトリをセットアップし、送信する予定のリポジトリに変更を加えてから、プル リクエストを送信する必要がありますか?

このプロセスは、次のことを達成するための最良の方法ですか?

  1. 私たちのプロジェクトのクリーンなコミット履歴から始める能力 (私はこれに賛成だと思います)
  2. 私たちのコードをプロプライエタリに保ち、私たちのプロプライエタリな変更の一部が誤って Opencart プロジェクトに送信されないようにすることを最大限に制御できますか?
  3. 「上流」のコミットが発生したときにコードに組み込むことができますか? 3a) コードに「アップストリーム」コミットをいつ追加するかを選択します - Opencart プロジェクトの一部のコミットは、コミットされた時点でプライムタイムに 100% 準備ができていないためですか?

助けてくれてどうもありがとう!

DSマット


投稿を編集する前の元の質問:

私はプログラミング/VCS が初めてで、GitHub を使い始めています。

他の 2、3 人のプログラマーと一緒に E コマース サイトを開発する予定です。私はコマンド ラインが苦手なので、2 つの GIT GUI のいずれか (Sourcetree または GitTower) を使用します。プロジェクトの管理に Gitflow 方式を使用したいと考えています。電子商取引サイトは、Opencart プロジェクトを基盤として使用し、私と他の 2 人の開発者が会社のニーズに合わせて変更を加えて構築されます。

Opencart プロジェクトを最新の状態に保ちながら、レポジトリを適切に管理する方法についてのアドバイスを探しています。主な質問は次のとおりです。

  1. Opencart プロジェクトを、すべての開発者がプル/プッシュするメインの Origin Repo としてフォークする必要がありますか? それとも、Opencart プロジェクトのフォークではない独自のレポをセットアップする必要がありますか?

注: Opencart コードに加える変更のほとんどは独自のものであり、プロジェクトと共有したくありません。

  1. Opencart プロジェクトに返したい変更の一部 (Opencart 開発者がプル リクエストを受け入れてくれる場合) は、これらがデフォルトの Opencart コードで (独自の変更なしで) 動作することを確認する必要があります。 、これは質問1への答えを変えますか?

  2. Opencart のバグ修正は別のブランチに分割されたり、バージョン ブランチにマージされたりするのではなく、新機能とともにマスター ブランチにコミットされるため、Forked リポジトリの各ブランチにどのコミットをマージするかを選択する方法はありますか?上流のレポからコミットをプルしますか?

Opencart Masterブランチ (アップストリーム マスター ブランチをたどるためにレポに設定されたブランチ。

DS Bugfixesブランチ (Opencart からのバグ修正をプロジェクトにマージするために設定されたブランチ。

Opencart マスター ブランチからすべてのコミットをプルするとき、Opencart マスター (バグ修正と新機能の両方) にマージするか、DS バグ修正にマージするかを選択できます。これは、E コマースに参加するために必要な修正のみです。新しい機能のコミットを入れずにコードを作成します。

  1. 最後に、Sourcetree または GitTower でこれらの動作を行うにはどうすればよいですか?

間違った用語を使用している場合は申し訳ありませんが、私は Git に非常に慣れていないため、チュートリアルを読んでみましたが、まだ助けが必要です!

4

1 に答える 1