2016-11-22 7 views
1

Visual Studioでメインブランチからいくつかのコード変更を行い、TortoiseHGの新しいブランチで変更をコミットしようとしましたが、間違いなく偶然、主枝。私はリモートリポジトリに変更をプッシュしていませんが、変更のバックアウトを実行しようとすると、変更がコミットされたことが明示されているにもかかわらず、エラーメッセージ "別のブランチで変更をバックアウトできません"メインブランチ。ローカルコミットを間違ったブランチに "元に戻す"方法

なぜこのエラーメッセージが表示され、どのように正しいブランチに変更を移すことができますか?

答えて

0

TortoiseHGで拡張子 "eol"と "mq"を追加し、ドラフトブランチを右クリックして "履歴の変更 - >ストリップ"を選択することで、コミットのすべてのファイルのバックアップを作成することで解決できました。 .. "その後、バックアップされたファイルを再度追加し、それらを正しいブランチにコミットしました。

私はTortoiseHGを初めて使用しているので、他の人にこのことを慎重にするよう助言する必要があります。

0

まず、プッシュ/パブリッシュされた変更を元に戻すためのバックアウトは不要です。 - >ロールバック /元に戻す

これは、あなたが最後にコミットしており、変更のコミットされていないとあなたの直接作業を残して元に戻します

リポジトリ:

は、この修正プログラムこれを行うには、複数の方法があります。次に、新しいブランチ名を選択することを再確認できます。

何らかの理由でロールバック/元に戻すには動作しない場合

:コミットの親へ

  1. 更新。
  2. コミットを右クリック - >すべてのファイルに戻す
  3. 変更をもう一度コミットします。新しいブランチ名を選択してください。 >歴史を修正 - -
  4. 右削除するコミット前のをクリックしてください>ストリップ(ストリップの拡張子はファイルで有効にする必要があります - > [設定] - > [拡張機能)限り、変更があるよう
+0

間違ったブランチにコミットした後、私はいくつかのプルを行いました。なぜ、確認メッセージに「リビジョンxxxxへのロールバック(元に戻す)」というメッセージが表示されるのですか?テキストに「リビジョンxxxxへのロールバック(コミットを取り消す)」のようなメッセージが表示されるまで元に戻すことはできますか?また、ローカル作業ディレクトリのみを更新していることを絶対に確信したいのですが、その場合はここにありますか? –

+0

はい&&いいえ - 複数のロールバックが決してうまくいかない&&フェーズ列を見てください。 – Tom

1

他の場所にまだ押し込まれていない2つのオプションがあります。

hg rebase -s FIRST_CHANGESET_TO_MOVE -d DESTINATION 

b)は以下推奨される方法、あなたはONE「はコミットして避難所取り消したい場合にのみ機能します。

a)は、別のチェンジの上に1つのチェンジとそのすべての子孫を移動するにはhg rebaseを使用して、何も引っ張られていないか、何かがコミットされているのは、hg rollbackです。しかし、そのような場合でも、hg rebaseは使いやすいもののようです。

関連する問題