ルートが私のgitリポジトリのルートであるWebプロジェクトがあります。Git は、このプロジェクトのほとんどのファイルを追跡し、リモート リポジトリにプッシュしています。プロジェクトのルートには、ローカルで追跡したいが、リモート リポジトリにはプッシュしたくない web.config ファイルがあります。
これはgitでも可能ですか?
ルートが私のgitリポジトリのルートであるWebプロジェクトがあります。Git は、このプロジェクトのほとんどのファイルを追跡し、リモート リポジトリにプッシュしています。プロジェクトのルートには、ローカルで追跡したいが、リモート リポジトリにはプッシュしたくない web.config ファイルがあります。
これはgitでも可能ですか?
1 つの方法は、Git アップストリーム リポジトリ側 (プッシュ先) にGitoliteがインストールされた仮想参照を追加することです。
この種の更新フックは、プッシュ先のファイルの内容を分析し、間違ったファイルが含まれている場合はプッシュを拒否できます。VREF FILETYPE
は
一例です。
別のブランチを作成し (ここでは と呼びますconfig
)、そこにファイルを追加し、そのブランチを使用してそのファイルへの変更を追跡し、別のブランチ (おそらくmaster
) からの変更をマージすることができます。その後、構成ファイルをプッシュする必要なく、自由に変更をmaster
ブランチにプッシュできます。ただし、間違ったブランチからプッシュしないように注意する必要があります。
別のオプションとして、構成ファイルへの変更を別のリポジトリにコミットし、現在のリポジトリの作業ツリーにシンボリック リンクまたはコピーを作成することもできます。それを .gitignore ファイルに追加すると、現在のリポジトリの git がそれを追加対象としてリストできなくなります。この方法により、誤ってそのファイルをサーバーにプッシュする可能性が低くなります。