私はMercurialを初めて使用していますが、何とか評価プロセスにまだ入っていますので、これらの4つのコンセプトは私にとっては紛らわしいものです。 Gitのステージング/インデックスコンセプトと同等か、Gitのステージングより優れているものもあります。どのようにhg graft
、hg record
、hg qrecord
とhg shelve
4つのコマンド(これはGraft vs. Transplantで説明されており、hg transplant
、しかし、すでに)相互に比較して、どうやっキューの概念とdirstate?どちらのユースケースが選択されていますか?私はそれぞれのヘルプページがあることを知っていますが、一般的にVCSが私にとって新しいトピックであるため、それぞれが何をしているのか把握するのは難しいです。Mercurial:移植片対レコード対qrecord vs. shelve対移植対対流対待ち行列
答えて
Mercurialの設計にはステージング領域という概念は含まれていません。つまり、ローカルの変更とコミットの中間の状態はありません。ここで
はあなたが言及した概念のそれぞれの概要は次のとおりです。
hg graft
はgit cherry-pick
のと同じです。あるブランチから別のブランチにコミットをコピーします。この機能の典型的な使用例は、あるリリースブランチから別のリリースブランチにバグ修正をコピーすることです。このコマンドは、古い(そして今は廃止された)hg transplant
拡張子を置き換えます。
hg record
およびhg qrecord
は、git add --patch
と同様です。それらは、対話的にコミットのためにハンクを選択することを可能にします。したがって、1つのファイルのいくつかの異なる領域を変更した場合は、実際にコミットしたい領域(つまり、ハンク)を選択し、ローカルの変更として残したい領域を選択できます。
qrecord
は、mq
が有効な場合にのみ利用できます。それは標準コミットではなくmq
パッチにコミットします。
hg shelve
は、git stash
と同様です。これにより、一時的にファイル(またはファイルのハンク)のローカル変更を脇に置くことができます。これらの変更は、準備ができたらunshelved
になります。
dirstate
は、Mercurialソースコードの内部クラスです。ユーザーには公開されません。
Mercurial Queues
(mq
としても知られています)はおそらく、Mercurialのステージング領域に最も近いでしょう。以下はMercurial wikiの説明です:
変更はMercurialにコミットされるパッチとして維持されます。 コミットを削除または並べ替えることができ、作業ディレクトリの変更に基づいて、基礎となるパッチを に更新することができます。パッチ ディレクトリもリビジョン管理下に置くことができるので、パッチに加えられた変更の履歴を個別に にすることができます。
mq
は、ローカルでテストしているがパブリックな場所にプッシュしていないコミット/リワークによく使用されます。また、サードパーティ製のコードを変更するために、それを使用する人もいます。
- 1. iOSインデックスファイルをAndroid対応ネイティブで移植するには
- 2. RailwayJS対Geddy対Express vs Socket.IO
- 3. 対pymssql対pyodbc対adodbapi対...
- 4. laravel:移行スキーマルール対vaidation
- 5. 植物対ゾンビのテキストベースのゲームのコンセプト
- 6. CGL対AGL対OpenGL対NSOpenGL対CoreAnimation(CALayer)
- 7. ID対UniqueID対ClientID対UniqueClientID対StaticClientID?
- 8. ラムダ対ラムダ対SNS対ラムダ
- 9. control.BeginInvoke()対ディスパッチャー対SynchronizationContext Vs .. - 信頼性
- 10. EF ICollection対リストVs IEnumerable対IQueryable
- 11. Stackpanel:高さ対ActualHeight対ExtentHeight対ViewportHeight対DesiredSize対RenderSize
- 12. 対称対角行列の表現
- 13. gruntjs対yeoman対ガード
- 14. クリスタルスペース対イルリヒト対.....?
- 15. 絶対配置div内相対配置div移動
- 16. 流星ランダムパッケージ対randomSeed
- 17. ブートストラップジャンボトロン対コンテナ流体
- 18. apc_define_constants対hidef対定義
- 19. kcov対lcov対生のパフォーマンス?
- 20. フェデレーション対委任、OAuth対OpenID Connect対SAML
- 21. 位置絶対絶対絶対
- 22. PHP mySQL 1対多対多対多
- 23. Django-nonrel対Django-mongodb対Mongokit対pymongoネイティブ
- 24. ビルドバイナリソケット.NETサーバー:カスタム対SignalR対XSockets対WebSocket4Net?
- 25. GradleはClassPathの移植不可能な絶対パスを生成します
- 26. Rubyで移植可能な絶対パスを構築するには?
- 27. SendGrid対ActionMailer対メールサーバ
- 28. メタフォン対soundex対NYSIIS
- 29. FieldError対ObjectError対グローバルエラー
- 30. テンソルフロー対マットル対テンソルード
移植は概念ではなく、コンセプトよりもはるかに遠くに記録する –
**「混乱リスト」に** shelve **を追加することもできます –
ありがとう私は質問を "コマンド"と "概念"を区別するように更新し、さらに2つをリストに追加しました。 – Iodnas