1

以下は、VSTSとGitを使用したマージワークフローの私のソリューションです。Git Merge Workflow

これは機能しますが、一見、マージの競合を防ぐ2つの冗長な手順があります。私は誰かが1ステップでそれをやるより簡単な方法を持っていることを望んでいます。私が各支店をリベースすると、これは機能しますが、私はその方法を避けようとしています。私の手順は次のとおりです。

  1. devの機能をdevブランチ、オフマスター、および補足ブランチにする。
  2. 機能ブランチからdevブランチにコードをプルします。
  3. マスターをdevにプルし、競合を解決してください。
  4. 競合が解決されたら、devをマスターにプルします。
  5. マスターをdevに戻して、コミット履歴が同じになるようにします。あなたの説明に基づいて

Git Workflow Image

+0

空のマージコミットを追加するだけなので、手順5を実行する必要はありません。 – Ryan

答えて

0

、それはmaster思えるあなたのプロジェクトのための更なる発展を持っているためdevは、あなたのメインブランチで、feature枝は松下電工の機能のために仕事しているか、あなたが開発するために支援devブランチ。 だから、マージの流れは次のようになります。feature支店の作業が終了した後、

  1. devgit checkout devgit merge feature)にfeatureをマージします。
  2. devブランチを終了した後、devmastergit checkout mastergit merge dev)にマージします。

ここでmasterブランチにはdevブランチの最新の作業が含まれています。 masterがメインブランチであるため、通常はmasterdevにマージする必要はありません。

注:マージ中に競合がある場合

  • git add .git commitを使用し、その後、すべての競合ファイルを変更して保存します。または、マージ戦略を使用して競合を自動的に解決できます。
  • 他のブランチのgit pullでもgit mergeと同じ結果になるかもしれませんが、まだgit mergeを使用することをお勧めします。この状況のた​​めに存在するコマンドであり、より規則的です。