3

重複の可能性:
tortoise hg を使用して kiln/mercurial 内の「リポジトリの一部である」ファイルを無視する方法

チェックインしたくない構成ファイルがありますが、誰かが変更をチェックインするたびに更新を取得したいと考えています。

ほとんどのシステムでは、チェックイン時に構成ファイルの横にあるチェック マークを外すだけで済みますが、HG を使用すると作業がかなり難しくなるようです。

これをさらに簡単にするには、構成ファイルを別の変更リストでチェックアウトするだけです。TortoiseHg で同じことを行うにはどうすればよいですか?

4

2 に答える 2

4

一般的に、あなたはしません。これを処理する通常の方法は、構成ファイルをソース管理に置くのではなく、そのテンプレートをソース管理に置くことです。のようなものconfig.sample。実行/ビルド スクリプトを微調整して、まだ存在しない場合config.sampleにコピーすることもできます。config config

mq や のようなエイリアスを使用してこれを試して取得する方法は他にもたくさんありますが、基本mycommit = commit -X config的に、ファイルは追跡されるか追跡されないかのどちらかであり、誰もが自分で変更しなければならないファイルであってはなりません。

于 2012-04-13T16:10:06.200 に答える
2

コミットする前にファイルリストからファイルのチェックを外すと、変更セットには入りません。これは、プッシュでは機能しないことを意味します(これらは変更セットごとにあるため)。

これはTortoiseの機能の1つであり、コマンドラインで役立ちます。

編集したファイルでプルを行うと、複数のヘッドが作成されます。ファイルに変更を加えたい場合は、これらをマージできますが、これは手動の手順である可能性があります。

あるいは、設定ファイルの場合、Mercurialのパッチキュー機能を使用すると便利です。したがって、コマンドラインからこれが可能になります(作業ディレクトリで変更されたと仮定します)。

hg qnew "localConfig"
hg qrefresh

これにより、「localConfigs」という新しいパッチキューアイテムが作成され、編集されたファイル(構成ファイル)がアイテムに配置されます。その後、次のことができます。

hg qpop

パッチキューから(変更セットパスから)削除します。または:

hg qpush

チェンジセットパスに入れます。これは、中央リポジトリに対応することに加えて、定期的に行うファイル変更を管理するためのより簡単な方法です。キューアイテムを取り出し、プルして更新し、キューアイテムを元に戻します(ただし、これらはマージの競合を処理します)あなたのアイテムが小さい場合はまれです)。このようにして、複数の頭を避けます。

https://www.mercurial-scm.org/wiki/MqExtension

私たちのオフィスではこのメカニズムを使用する傾向があります。

プッシュとポップはスタックコレクションのように機能することに注意してください。「localConfigs」が「moreLocalChanges」の上にある場合、「localConfigs」をプッシュする場合は両方が必要になります。私の例では、「localConfigs」パッチがキュー内の唯一のパッチであると想定しています。Mercurial構成ではデフォルトで無効になっていますが、バンドルされているため、簡単に有効にできます。

[extensions]
mq =
于 2012-04-13T12:37:22.867 に答える