4

誤っていくつかのファイルをプッシュしてしまい、メイン リポジトリに異なるヘッドが表示されます。どうすればその頭を削除できますか?

4

2 に答える 2

10

ファイルを編集して、「mq」拡張子を有効にすることができ.hgrcます。次の行が存在することを確認します。

[extensions]
mq =

その後、特定のリビジョンを「ストリップ」して削除し、ヘッドが 1 つだけになるようにすることができます。

hg strip ...
于 2013-01-21T09:46:53.523 に答える
5

実際に頭を削除したいとは思いません。それを行うと、それらのブランチで行われた作業が失われます。

おそらく、ヘッドを 1 つのブランチにマージしたいと思うでしょう。

次のようなツリーがあるとします。

o  4 : Head 1
|
o  3 : Another commit
|  
| o 2 : Head 2
| |
|/
o  1 : A commit
|
o  0 : Initial commit

含まれている作業を失うことなく追加のヘッドを取り除くには、次のように 2 つのヘッド (この例ではリビジョン 2 と 4) をマージします。

hg update 4
hg merge 2
hg commit -m "Merge"

これにより、リビジョン 2、3、および 4 のすべての変更が次のように 1 つのヘッドに含まれる別のコミットが作成されます。

o     5: Merge
|\
o |   4 : Head 1
| |
o |   3 : Another commit
| | 
| o   2 : Head 2
| |
|/
o     1 : A commit
|
o     0 : Initial commit

これは、複数の開発者が同じリポジトリで作業する場合の標準的な手順です。

于 2013-01-21T13:33:03.623 に答える