私はウェブサーバーを設定していますが、gitを使って更新されたファイルをサーバーに取得しています。私の問題は、接続文字列、ベースURLなどを置く設定ファイルがあるということです... gitが常に私のバージョンのファイルを保持したいので、gitからファイルを更新する必要はありませんリポジトリ。gitで鉱山戦略をどうやって作るのですか?
linuxのコマンドラインでこれを行うにはどうすればいいですか?
私はウェブサーバーを設定していますが、gitを使って更新されたファイルをサーバーに取得しています。私の問題は、接続文字列、ベースURLなどを置く設定ファイルがあるということです... gitが常に私のバージョンのファイルを保持したいので、gitからファイルを更新する必要はありませんリポジトリ。gitで鉱山戦略をどうやって作るのですか?
linuxのコマンドラインでこれを行うにはどうすればいいですか?
ファイルは、レポに保存され、ローカルの変更を持っていると、あなたは別のものをチェックアウトした場合には、それは(あなたがcheckoutコマンドに-f指定していない提供)を持続する必要がありますので、それは文句を言わない、ローカルの変更を上書きし、コミットします。それともgit mergeに関してですか? (あなたがタイトルで言及している "鉱山を保つ")。
1つのファイルをマージする必要がない場合は、--no-commitを使用してマージを行い、変更したくないファイルを上書きして、使用したいバージョンに上書きすることができます永続化してコミットしてください。
あなたは、クローンレポをリポジトリに滞在するファイルのバージョンを押して、あなたのファイルを変更して行うことができます。
git update-index --assume-unchanged file.conf
、人跡未踏としてファイルをマークしますました。あなたはそれを修正することができます、git status
を実行し、それが表示されていない参照してください。
また同じことをやって試すことができますが、その後、.gitignoreするファイルを追加し、それが自動的にすべてのローカルリポジトリ内のすべての変更からそれを無視します。そのようなファイルはgit add --force file.conf
でまだ再トラッキングできますが、どのファイルがうまくいくかはわかりません。
もっと良い方法は、config.globalやconfig.localのような2つの異なるファイルを用意し、ファイルの構造に応じて何らかの形で内容をマージするか上書きする関数を用意することです。その後、.globalファイルをgitに置き、.localファイルを.gitignoreに追加します。 –