1

1 日外出する前にデフォルトからブランチを開始しましたが、変更をコミットしませんでした。それ以来、default には多くの変更が加えられてきました。ブランチをデフォルトから最新のものに更新するか、デフォルトからブランチを再構築 (削除して再作成) するか、何らかの方法で変更を取り込みたいと考えています。

では、Mercurial でこれを行うにはどうすればよいでしょうか。

4

1 に答える 1

1

コミットを行っていないようです。つまり、履歴は次のようになります。

... [a] --- [b] --- (wc)
              \
               `--- [c] --- [d]

ここで、ダーティな作業コピーはに基づいてbおり、プルダウンしcd.

コミットがないため、マージするものはありません。簡単に更新できます:

$ hg update

変更が および の変更とマージされ、c次のdグラフが作成されます。

... [a] --- [b] --- [c] --- [d] --- (wc)

1 つ以上のコミットを行ったが、どこにもプッシュしていない場合は、リベース拡張機能を使用して、コミットを別のベースに再構築 (再生) できます。そこから始めます

... [a] --- [b] --- [x] --- [y]

メイン リポジトリからプルして、以下を取得します。

... [a] --- [b] --- [x] --- [y]
              \
               `--- [c] --- [d]

実行hg rebaseした後、あなたは

... [a] --- [b] --- [c] --- [d] --- [x'] --- [y']

ここでx'、 とはそれぞれとy'のリベース バージョンです。ブランチをどこにもプッシュしていない限り、この手順を繰り返すことができます (Mercurial は各チェンジセットの「フェーズ」を追跡し、チェンジセットをどこかにプッシュすると、フェーズからフェーズに移動します)。xydraftpublic

于 2013-10-21T17:53:47.620 に答える