私がしたいことは既にthat questionに記載されています。しかし、私は実用的かつより一般的な方法でその問題を解決したい。だから、ユースケースは以下の通りです:ローカル変更をgitでコミットしないようにするための実際のワークフローは何ですか?
- 私はいくつかのファイル
web.config
、createDb.sql
または任意の他のいくつかのローカルな変更を持って - 変更は私の地元に固有のものですので、私は、それらのファイルをコミットしたくありませんマシンのみ
- がバージョンを制御しなければならない、しかも変更はかなり頻繁に(特にSQLスクリプト)の一部に作られていますので、私は、私はコミットしたいです
- それらのファイルの更新を受信したいこれらのファイルすべて 他のファイル
- は、私は1つのコマンドでは、摩擦なしにそれを行うことができるようにしたい(POSH-gitのを使用して、そうPowerShellは大歓迎です)
ソリューションgit add -p
を使用するように言ったに連結し、それは、ではありません実用的な、それはいつも手動でチャンクを選ぶのは退屈ですか、それとももっと便利な方法がありますか?例えば
、次のいずれかが仕事ができる:
- 、インデックスに
git -add -A -EXCEPT web.config crateDb.sql
のようなものを追加する前に、自分の作業コピーにあるファイルをフィルタリングする機能があるかどうか。それから、gitエイリアスをマップすることができます。 - stashを解除する機能がある場合。私は、作業コピーから1つの特定のstashに含まれている変更を削除することを意味します。ですから、コミットする前に
git stash -deapply
のようなことをする必要があります。
問題は非常に一般的であり、現時点では解決策がないことは奇妙です。例えば。 TortoiseSVNには「コミット無視」機能があり、Perforceはそのタイプのローカル変更を個別のチェンジリストに保存し、それを送信することはできません。
どのような考えですか?
変更をコミットする以外にどのようにこれらのファイルを「バージョン管理する」ことができますか? gitでは、_is_ localをコミットし、_push_は他のコンピュータ/ reposに影響を与えます。私にとっては、これはより良い解決策のようなものです。[this](http://stackoverflow.com/questions/6009/how-do-you-deal-with-configuration-files-in-source-control)のようなものです。 –
私は設定ファイル - [NConifig](https://github.com/Yegoroff/NConfig)のためのより良い解決策を持っていますが、設定ファイルだけでなく、問題もあります。 – Restuta