0

私たちのチームは、GIT を使用して分岐ワークフローを実装しました。

  • 中央リポジトリ(マスター)があります
  • 開発者の 1 人にプロジェクト管理者の役割が割り当てられている
  • 別の開発者がメイン リポジトリ (フォーク) をフォークし、ローカルの変更をフォークにプッシュします。プロジェクト管理者は、開発者による開発者 (フォークされた) リポジトリへのすべてのコミットを確認します。
  • 変更ごとにブランチが作成されます。
  • コード レビュー担当者は、マスターにプッシュされたすべてのコミットをレビューします。

合意されたレベルのコード品質が提供されていることを確認し、他の開発者からの統合をテストすることは、プロジェクト管理者の責任です。そのため、開発者とプロジェクトのメンテナーは、変更を master にプッシュすることに同意する前に、コミットを数回繰り返すことがあります。

さらに、プロジェクトのメンテナは、マスターにプッシュする前に開発者のコ​​ードをローカルで変更する場合があります。

現在、開発者のコ​​ミットはすべて master に送信されています。ただし、必要なのは、開発者によるコミットがマスターに表示されず、メンテナーによって (いわば) 単一のコミットにまとめられることです。

FORK                      MAINTAINERS LOCAL                MASTER
--------------------      ---------------------------      ----------------------------
dev_branch1:commit 1      dev_branch1:commit 1
dev_branch1:commit 2      dev_branch1:commit 2
dev_branch1:commit 3      dev_branch1:commit 3
                          [ edits (possibly) ]
                          qa_branch1: commit 1          qa_branch1: commit 1

gitを使用してこれをどのように達成できますか。したがって、上の図では、マスター レビュー担当者は qa_branch1 のコミット 1 のみを表示する必要があります。

4

1 に答える 1

2

以下は、ブランチ内のすべてのコミットを単一のコミットに押しつぶし、それを現在のブランチにマージします。

git merge --squash qa_branch1

グラフについては、この質問を参照してください

于 2014-06-09T17:38:15.413 に答える