3

私は、Mercurial を使用してプログラムを作成する単一の開発者です。私はこれまで開発のあらゆる段階でコミットしてきましたが、物事を台無しにして、別のことに取り組みたいと思っています。

以前の状態 (ロールバック) に移動してからブランチを作成し、新しい状態を維持するにはどうすればよいですか?

ロールバックは何かを削除しますか? それだけでいいの?必要な場所に戻るまでロールバックし、編集してからコミットしますか? 変更セットを後でマージすることはできますか、それとも少なくともそれらを見ることはできますか? もちろん、このリポジトリを保存してロールバックし、新しい変更セットを作成してから、2 つのリポジトリをマージできますか?

私は SCM ももちろん DSCM も初めてなので、優しくしてください :)

4

2 に答える 2

10

正確に 1 つの変更 (最新のもの)hg rollbackのみを消去する を使用したくありません。hg book で一度しかロールバックできないことを参照してください。

以前のリビジョンからブランチを作成するには、ブランチ元のリビジョン番号を見つけて実行する必要があります。

hg clone -r <revnum> <source repository> <destination repository>

次に、新しく複製されたリポジトリ (指定したリビジョン番号以降の履歴は含まれません) で変更を行い、必要に応じてそれらの変更を後で元のリポジトリにマージします。

于 2009-04-02T15:55:23.923 に答える
1

他の答えは機能しますが、過剰です。あなたがする必要があるのは次のとおりです。

hg up <revnum>

ローカルの作業フォルダーは、指定されたリビジョンのファイルの状態に更新されます。そこから作業できます。

コミットするとすぐに、匿名ブランチが自動的に作成されます。元のコミットは保持されたままですが、邪魔になりません。

これは、私が最初に推奨する最も単純なアプローチ (IMHO) です。

于 2019-05-28T11:45:50.153 に答える