8

シナリオ: 最後のコミットの後、コードベースの大規模なリファクタリングを行うことにしました。しばらくすると、予想よりも時間がかかっていることに気付き、リファクタリングを別の機会に延期して、より差し迫ったタスクに取り組みたいと思うようになります。しかし、これまでに行ったリファクタリング作業をすべて失いたくはありません。

それで、作業コピーを「アーカイブ」または「分岐」し(本質的に、それを脇に置きますが、後でアクセスできるようにリポジトリに保管します)、最後の適切なコミットに戻り、そこから再開する方法はありますか?複数の頭を作成するか、2 つを混同しますか?

4

5 に答える 5

18

「二頭身の恐怖」は気にしないでください。二頭身はごく普通の状態。これは匿名ブランチと呼ばれ、Mercurial で一時的なブランチを作成する方法の 1 つです。

コミットしてから、ヒント 1 に更新するだけで準備完了です。

hg commit -m "working on XXX"
hg update -r "tip-1"

そして離れて行きます。そのヘッドにブックマーク (タグより永続性が低い) をドロップしたい場合は可能ですが、心配する必要はありません。

hg push -r HEADどこにいても、別の頭を押すことなく、いつでも頭を押すことができますhg push -r .

頭を恐れる必要はありません。頭は DAG ベースの VCS を強力にするものです。

于 2011-05-28T03:20:57.847 に答える