2

プロジェクトに貢献しようとしていますが、作業内容にgit-flowワークフロー(?)を使用したいと思います。developたとえば、リモートリポジトリ(github)のブランチをチェックアウトし、 2つの機能ブランチ(翻訳の場合はT、更新の場合はU)を設定しました。

---o---o---o (D)
           |---Ta---Tb (T)
           \---Ua---Ub---Uc (U)

これで、ブランチごとに、リポジトリメンテナにプルリクエストが行われ、upstreamリポジトリメンテナはそれらをすべて受け入れて、upstream/developブランチにマージします。

私が最終的にするための正しい手順は何ですか?

---o---o---Ta---Tb---Ua---Ub---Uc (D)
                               |- (T)
                               \- (U)

それが私に必要なことだと何かが教えてくれgit rebaseます。(私はWindowsを使用していることに注意してください)。

4

1 に答える 1

5

あなたが正しいです。あなた(またはリポジトリメンテナ)は、変更を開発ブランチにリベースする必要があります。

git checkout develop
git rebase T
git rebase U

リベース中に、競合が発生した場合は解決する必要がある場合があります。

最後の分岐図は、TとUが親としてUcを持っていることを示しています。リベースはブランチの親を変更しません。これを行うには、ブランチを削除し、上記のリベース後にブランチを再作成します。

git branch -D T
git branch -D U

TブランチとUブランチは開発ブランチにマージされなかったため、大文字の-Dスイッチを使用してブランチを強制的に削除する必要があります。そのため、gitはブランチの変更がブランチに反映されていることを認識しませんdevelop

その後、それらを再作成できます。

git checkout -b T

git checkout develop
git checkout -b U
于 2011-06-13T15:52:49.020 に答える