1

私は2つの別々のブランチで作業しようとしています。最初の分岐は展開段階に近い段階で、2 番目の分岐は初期の開発段階です。何らかの理由で、2 番目のブランチには最初のブランチからの開発の一部が含まれていません。2 番目のブランチで作業中に最初のブランチをチェックアウトしようとすると、次のエラーが表示されます。

abort: crossed branches (use 'hg merge' to merge or use 'hg update -c' to discard changes)

今私の問題は、2番目のブランチを削除したり、実際に編集したりしたくないということです。私のオプションはいつですか? Mercurial に関する基本的な事実が欠けていますか?

4

1 に答える 1

1

hg shelve新しいブランチをチェックアウトする前に、変更をコミットするか、そうでなければ(たとえば)保存する必要があります。

Mercurial(およびほとんどのCVSes AFAIK)は、変更をコミットするまで作業ディレクトリの状態を保存しないため、ブランチを切り替えると、コミットしていないものはすべて事実上破棄されます。これは、hg shelve拡張機能を使用するか、作業中のブランチごとに1つの作業コピーを用意することで回避できます。

于 2012-07-16T13:32:26.427 に答える