2016-09-06 4 views
-1

私はdefaultの分岐で一連のコミットを受けています。今では別のバグ修正を行う必要があり、私はレポとリモートの間の元の分岐点に戻りたいと思っています。私は手動で変更ログを見ることができ、hg upをリビジョンに見ることはできますが、それは不便です。Mercurial - 上流のコミットからの新しいブランチ

これを行うコマンドがありますか?上流から利用可能な最後のコミットで新しいブランチを作成し、それに切り替えますか?

私は、このコマンドが必要ですが、Mercurialの https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/git-new-branch.html

+0

ブランチを作成するために特別な対策を行う必要はありません。ブランチをベースにしたいリビジョンに更新し、コミットを開始するだけです。 '' hg outgoing ''と '' hg incoming''があなたに与えるもの以外の 'remote'の概念はありません。すぐにジャンプしたいリビジョンに(ローカル)ブックマークを添付してください。ブックマークは、履歴の一部にならない便利な一時マーカーです。 – planetmaker

+0

更新する必要のあるリビジョン番号がわからないので、@planetmaker 'just update'はこの場合動作しません。 –

答えて

1

hg updateは非常に強力であるために、私はあなたが希望のリビジョンを指定するために使用できる演算子と述語の詳細をREVSETヘルプページ、に見てお勧めします。

たとえば、hg update -r parents(first(outgoing(UPSTREAM)))は、UPSTREAMにまだプッシュされていない最も古いチェンジセットの親に更新する必要があります。これはあなたが求めているようです。これは、未処理の最も古いチェンジセットが単一の親を持つ(つまり、マージの結果ではない)ときに機能します。

親が2つある場合は、代わりにhg update -r p1(first(outgoing(UPSTREAM)))またはhg update -r p2(first(outgoing(UPSTREAM)))を使用できますが、ブランチを開始する親を知る必要があります。

ご希望の場合はまた、あなたはMercurialの設定ファイルに次のように置けば、エイリアスを作成することができます

[alias] 
newbranch = hg update -r parents(first(outgoing(UPSTREAM))) 

newbranchの部分は、コマンドがなりたいものは何でもあります。

+0

**防弾ではありません**多くの理由からrevsetされています。私はあなたの答えに –

+0

私。ありがとう。 –

+0

を組み込みます。 'newbranch = hg update -r parents(first(outgoing()))'のために働いていたので、私は '親(最初(発信)(UPSTREAM))' –

関連する問題