1 日外出する前にデフォルトからブランチを開始しましたが、変更をコミットしませんでした。それ以来、default には多くの変更が加えられてきました。ブランチをデフォルトから最新のものに更新するか、デフォルトからブランチを再構築 (削除して再作成) するか、何らかの方法で変更を取り込みたいと考えています。
では、Mercurial でこれを行うにはどうすればよいでしょうか。
1 日外出する前にデフォルトからブランチを開始しましたが、変更をコミットしませんでした。それ以来、default には多くの変更が加えられてきました。ブランチをデフォルトから最新のものに更新するか、デフォルトからブランチを再構築 (削除して再作成) するか、何らかの方法で変更を取り込みたいと考えています。
では、Mercurial でこれを行うにはどうすればよいでしょうか。
コミットを行っていないようです。つまり、履歴は次のようになります。
... [a] --- [b] --- (wc)
\
`--- [c] --- [d]
ここで、ダーティな作業コピーはに基づいてb
おり、プルダウンしc
てd
.
コミットがないため、マージするものはありません。簡単に更新できます:
$ 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 は各チェンジセットの「フェーズ」を追跡し、チェンジセットをどこかにプッシュすると、フェーズからフェーズに移動します)。x
y
draft
public