[解決済み] Mercurial は変更を新しいブランチに移動します。
2022-08-24 03:48:50
質問
ローカルリポジトリにコミットしたけれども、まだプッシュされていない変更がいくつかあります。 ある機能で予想以上に時間がかかっているため、プッシュする前にこれらの変更を名前付きブランチに入れ替えたいと思います。どうすればよいでしょうか?
どのように解決するのですか?
マークが提案したように MqExtension はあなたの問題に対する 1 つの解決策です。IMHO では、よりシンプルなワークフローとして リベースエクステンション . 例えば、このような履歴があるとします。
@ changeset: 2:81b92083cb1d
| tag: tip
| summary: my new feature: edit file a
|
o changeset: 1:8bdc4508ac7b
| summary: my new feature: add file b
|
o changeset: 0:d554afd54164
summary: initial
これはつまり、リビジョン
0
は、あなたがその機能で作業を始めたときのベースです。今、あなたはリビジョン
1-2
を名前付きブランチ、たとえば
my-feature
. リビジョンに更新
0
に更新し、そのブランチを作成します。
$ hg up 0
$ hg branch my-feature
$ hg ci -m "start new branch my-feature"
これで履歴は次のようになります。
@ changeset: 3:b5939750b911
| branch: my-feature
| tag: tip
| parent: 0:d554afd54164
| summary: start new branch my-feature
|
| o changeset: 2:81b92083cb1d
| | summary: my new feature: edit file a
| |
| o changeset: 1:8bdc4508ac7b
|/ summary: my new feature: add file b
|
o changeset: 0:d554afd54164
summary: initial
を使用します。
rebase
コマンドを使って、リビジョンを移動することができます。
1-2
リビジョン上に
3
:
$ hg rebase -s 1 -d 3
この結果、以下のようなグラフになります。
@ changeset: 3:88a90f9bbde7
| branch: my-feature
| tag: tip
| summary: my new feature: edit file a
|
o changeset: 2:38f5adf2cf4b
| branch: my-feature
| summary: my new feature: add file b
|
o changeset: 1:b5939750b911
| branch: my-feature
| summary: start new branch my-feature
|
o changeset: 0:d554afd54164
summary: initial
Markの回答に対するコメントで述べたように、すでにプッシュされたチェンジセットを移動することは、コミュニケーションと履歴操作を強制できる小さなチームで働いているのでなければ、一般に悪い考えです。
関連
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み] Git を使って前のコミットから分岐させる
-
[解決済み] Git で単一のブランチをクローンする方法を教えてください。
-
[解決済み] Gitブランチの最も近い親を見つける方法
-
[解決済み] あるブランチの内容を新しいローカルブランチにコピーするにはどうすればよいですか?
-
[解決済み】既存のGitブランチをリモートブランチに追従させる?
-
[解決済み】TortoiseHGでブランチする方法
-
[解決済み】マーキュリアル。ブランチの名前を変更できますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SourceTreeで強制プッシュ
-
[解決済み] Hg支店の閉鎖
-
[解決済み】Mercurialの'hg remove'を全ての見つからないファイルに対して行うには?
-
[解決済み】TortoiseHGでブランチする方法
-
[解決済み】マーキュリアル。ブランチの名前を変更できますか?
-
[解決済み] hgのマージを中止するには?
-
[解決済み] hgでタグ/ブランチに切り替えるにはどうしたらいいですか?
-
[解決済み] Mercurial で特定のバージョンのファイルを取得するには?
-
[解決済み] Mercurial のエラー: ユーザー名が指定されずに中止する
-
[解決済み] Mercurialでコードの作者を探す